Rules useless in parser due to conflicts

  258 EnumConstantName: Identifier


State 43 conflicts: 1 shift/reduce
State 83 conflicts: 1 shift/reduce
State 154 conflicts: 3 shift/reduce
State 167 conflicts: 1 shift/reduce
State 169 conflicts: 3 shift/reduce
State 180 conflicts: 3 shift/reduce
State 182 conflicts: 2 shift/reduce
State 206 conflicts: 4 shift/reduce, 2 reduce/reduce
State 287 conflicts: 4 shift/reduce, 3 reduce/reduce
State 290 conflicts: 3 shift/reduce
State 334 conflicts: 3 shift/reduce
State 342 conflicts: 2 shift/reduce
State 343 conflicts: 2 shift/reduce
State 351 conflicts: 1 shift/reduce
State 375 conflicts: 3 shift/reduce
State 463 conflicts: 1 shift/reduce
State 465 conflicts: 27 shift/reduce
State 477 conflicts: 1 shift/reduce
State 491 conflicts: 1 shift/reduce
State 499 conflicts: 2 shift/reduce
State 518 conflicts: 58 reduce/reduce
State 521 conflicts: 1 shift/reduce
State 639 conflicts: 2 shift/reduce
State 695 conflicts: 1 shift/reduce
State 703 conflicts: 3 shift/reduce, 1 reduce/reduce
State 753 conflicts: 1 shift/reduce
State 754 conflicts: 1 shift/reduce
State 780 conflicts: 1 shift/reduce


Grammar

    0 $accept: CompilationUnit "end of file"

    1 QualifiedIdentifier: Identifier
    2                    | QualifiedIdentifier '.' Identifier

    3 QualifiedIdentifierList: QualifiedIdentifier
    4                        | QualifiedIdentifierList ',' QualifiedIdentifier

    5 CompilationUnit: %empty
    6                | ImportDeclarationList
    7                | ImportDeclarationList TypeDeclarationList
    8                | TypeDeclarationList
    9                | Annotations "package" QualifiedIdentifier ';'
   10                | "package" QualifiedIdentifier ';'
   11                | Annotations "package" QualifiedIdentifier ';' ImportDeclarationList
   12                | "package" QualifiedIdentifier ';' ImportDeclarationList
   13                | Annotations "package" QualifiedIdentifier ';' ImportDeclarationList TypeDeclarationList
   14                | "package" QualifiedIdentifier ';' ImportDeclarationList TypeDeclarationList
   15                | Annotations "package" QualifiedIdentifier ';' TypeDeclarationList
   16                | "package" QualifiedIdentifier ';' TypeDeclarationList

   17 ImportDeclarationList: ImportDeclaration
   18                      | ImportDeclarationList ImportDeclaration

   19 TypeDeclarationList: TypeDeclaration
   20                    | TypeDeclarationList TypeDeclaration

   21 ImportDeclaration: "import" "static" QualifiedIdentifier '.' '*' ';'
   22                  | "import" "static" QualifiedIdentifier ';'
   23                  | "import" QualifiedIdentifier '.' '*' ';'
   24                  | "import" QualifiedIdentifier ';'

   25 TypeDeclaration: ClassOrInterfaceDeclaration
   26                | ';'

   27 ClassOrInterfaceDeclaration: InterfaceDeclaration
   28                            | ClassDeclaration
   29                            | ModifierList BOGUS InterfaceDeclaration
   30                            | ModifierList ClassDeclaration

   31 ClassDeclaration: NormalClassDeclaration
   32                 | EnumDeclaration

   33 InterfaceDeclaration: NormalInterfaceDeclaration
   34                     | AnnotationTypeDeclaration

   35 NormalClassDeclaration: "class" Identifier ClassBody
   36                       | "class" Identifier "implements" TypeList ClassBody
   37                       | "class" Identifier "extends" Type ClassBody
   38                       | "class" Identifier "extends" Type "implements" TypeList ClassBody
   39                       | "class" Identifier TypeParameters ClassBody
   40                       | "class" Identifier TypeParameters "implements" TypeList ClassBody
   41                       | "class" Identifier TypeParameters "extends" Type ClassBody
   42                       | "class" Identifier TypeParameters "extends" Type "implements" TypeList ClassBody

   43 EnumDeclaration: "enum" Identifier EnumBody
   44                | "enum" Identifier "implements" TypeList EnumBody

   45 NormalInterfaceDeclaration: "interface" Identifier InterfaceBody
   46                           | "interface" Identifier "extends" TypeList InterfaceBody
   47                           | "interface" Identifier TypeParameters InterfaceBody
   48                           | "interface" Identifier TypeParameters "extends" TypeList InterfaceBody

   49 AnnotationTypeDeclaration: '@' "interface" Identifier AnnotationTypeBody

   50 Type: BasicType
   51     | BasicType ArrayDesignatorList
   52     | ReferenceType
   53     | ReferenceType ArrayDesignatorList

   54 BasicType: "byte"
   55          | "short"
   56          | "char"
   57          | "int"
   58          | "long"
   59          | "float"
   60          | "double"
   61          | "boolean"

   62 ReferenceType: Identifier
   63              | Identifier TypeArguments
   64              | ReferenceType '.' Identifier
   65              | ReferenceType '.' Identifier TypeArguments

   66 TypeArguments: '<' TypeArgumentList '>'

   67 TypeArgument: ReferenceType
   68             | '?'
   69             | '?' "super" ReferenceType
   70             | '?' "extends" ReferenceType

   71 NonWildcardTypeArguments: '<' TypeList '>'

   72 TypeList: ReferenceType
   73         | TypeList ',' ReferenceType

   74 TypeArgumentsOrDiamond: '<' '>'
   75                       | TypeArguments

   76 NonWildcardTypeArgumentsOrDiamond: '<' '>'
   77                                  | NonWildcardTypeArguments

   78 TypeParameters: '<' TypeParameterList '>'

   79 TypeParameter: Identifier
   80              | Identifier "extends" Bound

   81 Bound: ReferenceType
   82      | Bound '&' ReferenceType

   83 Modifier: Annotation
   84         | "public"
   85         | "protected"
   86         | "private"
   87         | "static"
   88         | "abstract"
   89         | "final"
   90         | "native"
   91         | "synchronized"
   92         | "transient"
   93         | "volatile"
   94         | "strictfp"

   95 Annotations: Annotation
   96            | Annotations Annotation

   97 Annotation: '@' QualifiedIdentifier
   98           | '@' QualifiedIdentifier '(' ')'
   99           | '@' QualifiedIdentifier '(' AnnotationElement ')'

  100 AnnotationElement: ElementValuePairs
  101                  | ElementValue

  102 ElementValuePairs: ElementValuePair
  103                  | ElementValuePairs ',' ElementValuePair

  104 ElementValuePair: Identifier '=' ElementValue

  105 ElementValue: Annotation
  106             | Expression1
  107             | ElementValueArrayInitializer

  108 ElementValueArrayInitializer: '{' ElementValuesList '}'

  109 ClassBody: '{' '}'
  110          | '{' ClassBodyDeclarationList '}'

  111 ClassBodyDeclaration: ';'
  112                     | MemberDecl
  113                     | ModifierList MemberDecl
  114                     | Block
  115                     | "static" Block

  116 MemberDecl: MethodOrFieldDecl
  117           | "void" Identifier VoidMethodDeclaratorRest
  118           | Identifier ConstructorDeclaratorRest
  119           | GenericMethodOrConstructorDecl
  120           | ClassDeclaration
  121           | InterfaceDeclaration

  122 MethodOrFieldDecl: Type Identifier MethodOrFieldRest

  123 MethodOrFieldRest: FieldDeclaratorsRest ';'
  124                  | MethodDeclaratorRest

  125 FieldDeclaratorsRest: VariableDeclaratorRest
  126                     | VariableDeclaratorRest VariableDeclaratorList

  127 MethodDeclaratorRest: FormalParameters ';'
  128                     | FormalParameters Block
  129                     | FormalParameters "throws" QualifiedIdentifierList ';'
  130                     | FormalParameters "throws" QualifiedIdentifierList Block
  131                     | FormalParameters ArrayDesignatorList ';'
  132                     | FormalParameters ArrayDesignatorList Block
  133                     | FormalParameters ArrayDesignatorList "throws" QualifiedIdentifierList ';'
  134                     | FormalParameters ArrayDesignatorList "throws" QualifiedIdentifierList Block

  135 VoidMethodDeclaratorRest: FormalParameters ';'
  136                         | FormalParameters Block
  137                         | FormalParameters "throws" QualifiedIdentifierList ';'
  138                         | FormalParameters "throws" QualifiedIdentifierList Block

  139 ConstructorDeclaratorRest: FormalParameters Block
  140                          | FormalParameters "throws" QualifiedIdentifierList Block
  141                          | FormalParameters API_ELISION ';'
  142                          | FormalParameters "throws" QualifiedIdentifierList API_ELISION ';'

  143 GenericMethodOrConstructorDecl: TypeParameters GenericMethodOrConstructorRest

  144 GenericMethodOrConstructorRest: "void" Identifier VoidMethodDeclaratorRest
  145                               | Type Identifier MethodDeclaratorRest
  146                               | Identifier ConstructorDeclaratorRest

  147 InterfaceBody: '{' '}'
  148              | '{' InterfaceBodyDeclarationList '}'

  149 InterfaceBodyDeclaration: ';'
  150                         | InterfaceMemberDecl
  151                         | ModifierList InterfaceMemberDecl

  152 InterfaceMemberDecl: InterfaceMethodOrFieldDecl
  153                    | "void" Identifier VoidInterfaceMethodDeclaratorRest
  154                    | InterfaceGenericMethodDecl
  155                    | ClassDeclaration
  156                    | InterfaceDeclaration

  157 InterfaceMethodOrFieldDecl: Type Identifier InterfaceMethodOrFieldRest

  158 InterfaceMethodOrFieldRest: ConstantDeclaratorsRest ';'
  159                           | InterfaceMethodDeclaratorRest

  160 ConstantDeclaratorsRest: ConstantDeclaratorRest
  161                        | ConstantDeclaratorRest ConstantDeclaratorList

  162 ConstantDeclaratorRest: '=' VariableInitializer
  163                       | ArrayDesignatorList '=' VariableInitializer

  164 ConstantDeclaratorList: ',' ConstantDeclarator
  165                       | ConstantDeclaratorList ',' ConstantDeclarator

  166 ConstantDeclarator: Identifier ConstantDeclaratorRest

  167 InterfaceMethodDeclaratorRest: FormalParameters ';'
  168                              | FormalParameters "throws" QualifiedIdentifierList ';'
  169                              | FormalParameters ArrayDesignatorList ';'
  170                              | FormalParameters ArrayDesignatorList "throws" QualifiedIdentifierList ';'

  171 VoidInterfaceMethodDeclaratorRest: FormalParameters ';'
  172                                  | FormalParameters "throws" QualifiedIdentifierList ';'

  173 InterfaceGenericMethodDecl: TypeParameters "void" Identifier VoidInterfaceMethodDeclaratorRest
  174                           | TypeParameters Type Identifier InterfaceMethodDeclaratorRest

  175 FormalParameters: '(' ')'
  176                 | '(' FormalParameterDecls ')'

  177 FormalParameterDecls: Type FormalParameterDeclsRest
  178                     | VariableModifierList Type FormalParameterDeclsRest

  179 VariableModifier: "final"
  180                 | Annotation

  181 FormalParameterDeclsRest: VariableDeclaratorId
  182                         | VariableDeclaratorId ',' FormalParameterDecls
  183                         | "..." VariableDeclaratorId

  184 VariableDeclaratorId: Identifier
  185                     | Identifier ArrayDesignatorList

  186 VariableDeclarators: VariableDeclarator
  187                    | VariableDeclarator VariableDeclaratorList

  188 VariableDeclarator: Identifier VariableDeclaratorRest

  189 VariableDeclaratorRest: %empty
  190                       | '=' VariableInitializer
  191                       | ArrayDesignatorList
  192                       | ArrayDesignatorList '=' VariableInitializer

  193 VariableInitializer: ArrayInitializer
  194                    | Expression

  195 ArrayInitializer: '{' '}'
  196                 | '{' VariableInitializer '}'
  197                 | '{' VariableInitializer ',' '}'
  198                 | '{' VariableInitializer VariableInitializerList '}'
  199                 | '{' VariableInitializer VariableInitializerList ',' '}'

  200 Block: '{' BlockStatements '}'

  201 BlockStatements: %empty
  202                | BlockStatementList

  203 BlockStatement: LocalVariableDeclarationStatement
  204               | ClassOrInterfaceDeclaration
  205               | Statement
  206               | Identifier ':' Statement

  207 LocalVariableDeclarationStatement: Type VariableDeclarators ';'
  208                                  | VariableModifierList Type VariableDeclarators ';'

  209 Statement: Block
  210          | ';'
  211          | Identifier ':' Statement
  212          | StatementExpression ';'
  213          | "if" ParExpression Statement
  214          | "if" ParExpression Statement "else" Statement
  215          | "assert" Expression ';'
  216          | "assert" Expression ':' Expression ';'
  217          | "switch" ParExpression '{' SwitchBlockStatementGroups '}'
  218          | "while" ParExpression Statement
  219          | "do" Statement "while" ParExpression ';'
  220          | "for" '(' ForControl ')' Statement
  221          | "break" ';'
  222          | "break" Identifier ';'
  223          | "continue" ';'
  224          | "continue" Identifier ';'
  225          | "return" ';'
  226          | "return" Expression ';'
  227          | "throw" Expression ';'
  228          | "synchronized" ParExpression Block
  229          | "try" Block Finally
  230          | "try" Block Catches
  231          | "try" Block Catches Finally
  232          | "try" ResourceSpecification Block
  233          | "try" ResourceSpecification Block Finally
  234          | "try" ResourceSpecification Block Catches
  235          | "try" ResourceSpecification Block Catches Finally

  236 StatementExpression: Expression

  237 Catches: CatchClause
  238        | Catches CatchClause

  239 CatchClause: "catch" '(' CatchType Identifier ')' Block
  240            | "catch" '(' VariableModifierList CatchType Identifier ')' Block

  241 CatchType: QualifiedIdentifier
  242          | QualifiedIdentifier PipeSeparatedQualifiedIdentifierList

  243 Finally: "finally" Block

  244 ResourceSpecification: '(' Resources ')'
  245                      | '(' Resources ';' ')'

  246 Resources: Resource
  247          | Resources ';' Resource

  248 Resource: ReferenceType VariableDeclaratorId '=' Expression
  249         | VariableModifierList ReferenceType VariableDeclaratorId '=' Expression

  250 SwitchBlockStatementGroups: %empty
  251                           | SwitchBlockStatementGroupList

  252 SwitchBlockStatementGroup: SwitchLabels BlockStatements

  253 SwitchLabels: SwitchLabel
  254             | SwitchLabels SwitchLabel

  255 SwitchLabel: "case" Expression ':'
  256            | "case" EnumConstantName ':'
  257            | "default" ':'

  258 EnumConstantName: Identifier

  259 ForControl: ForVarControl
  260           | ForInit ';' ';'
  261           | ForInit ';' ';' ForUpdate
  262           | ForInit ';' Expression ';'
  263           | ForInit ';' Expression ';' ForUpdate

  264 ForVarControl: Type VariableDeclaratorId ForVarControlRest
  265              | VariableModifierList Type VariableDeclaratorId ForVarControlRest

  266 ForVarControlRest: ForVariableDeclaratorsRest ';' ';'
  267                  | ForVariableDeclaratorsRest ';' ';' ForUpdate
  268                  | ForVariableDeclaratorsRest ';' Expression ';'
  269                  | ForVariableDeclaratorsRest ';' Expression ';' ForUpdate
  270                  | ':' Expression

  271 ForVariableDeclaratorsRest: %empty
  272                           | '=' VariableInitializer
  273                           | VariableDeclaratorList
  274                           | '=' VariableInitializer VariableDeclaratorList

  275 ForInit: ForUpdate

  276 ForUpdate: StatementExpression
  277          | ForUpdate ',' StatementExpression

  278 Expression: Expression1
  279           | Expression1 AssignmentOperator Expression1

  280 AssignmentOperator: '='
  281                   | "+="
  282                   | "-="
  283                   | "*="
  284                   | "/="
  285                   | "&="
  286                   | "|="
  287                   | "^="
  288                   | "%="
  289                   | "<<="
  290                   | ">>="
  291                   | ">>>="

  292 Expression1: Expression2
  293            | Expression2 Expression1Rest

  294 Expression1Rest: '?' Expression ':' Expression1

  295 Expression2: Expression3
  296            | Expression3 Expression2Rest

  297 Expression2Rest: InfixOpExpression3List
  298                | "instanceof" Type

  299 InfixOp: "||"
  300        | "&&"
  301        | '|'
  302        | '^'
  303        | '&'
  304        | "=="
  305        | "!="
  306        | '<'
  307        | '>'
  308        | "<="
  309        | ">="
  310        | "<<"
  311        | ">>"
  312        | ">>>"
  313        | '+'
  314        | '-'
  315        | '*'
  316        | '/'
  317        | '%'

  318 Expression3: PrefixOp Expression3
  319            | '(' Type ')' Expression3
  320            | '(' Expression ')' Expression3
  321            | Primary
  322            | Primary SelectorList
  323            | Primary PostfixOpList
  324            | Primary SelectorList PostfixOpList

  325 PrefixOp: "++"
  326         | "--"
  327         | '!'
  328         | '~'
  329         | '+'
  330         | '-'

  331 PostfixOp: "++"
  332          | "--"

  333 Primary: Literal
  334        | ParExpression
  335        | "this"
  336        | "this" Arguments
  337        | "super" SuperSuffix
  338        | "new" Creator
  339        | NonWildcardTypeArguments "this" Arguments
  340        | NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | Identifier IdentifierSuffix
  342        | QualifiedIdentifier
  343        | QualifiedIdentifier IdentifierSuffix
  344        | BasicType '.' "class"
  345        | BasicType ArrayDesignatorList '.' "class"
  346        | "void" '.' "class"

  347 Literal: IntegerLiteral
  348        | FloatingPointLiteral
  349        | CharacterLiteral
  350        | StringLiteral
  351        | BooleanLiteral
  352        | NullLiteral

  353 ParExpression: '(' Expression ')'

  354 Arguments: '(' ')'
  355          | '(' Expression ')'
  356          | '(' Expression ExpressionList ')'

  357 SuperSuffix: Arguments
  358            | '.' Identifier
  359            | '.' Identifier Arguments

  360 ExplicitGenericInvocationSuffix: "super" SuperSuffix
  361                                | Identifier Arguments

  362 Creator: NonWildcardTypeArguments CreatedName ClassCreatorRest
  363        | CreatedName ArrayCreatorRest
  364        | CreatedName ClassCreatorRest

  365 CreatedName: Identifier
  366            | Identifier TypeArgumentsOrDiamond
  367            | Identifier DiamondKindIdentifierList
  368            | Identifier TypeArgumentsOrDiamond DiamondKindIdentifierList

  369 ClassCreatorRest: Arguments
  370                 | Arguments ClassBody

  371 ArrayCreatorRest: '[' Expression ']'
  372                 | '[' ']' ArrayInitializer
  373                 | '[' Expression ']' ArrayDesignatorList
  374                 | '[' ']' ArrayDesignatorList ArrayInitializer
  375                 | '[' Expression ']' SubscriptExpressionList
  376                 | '[' Expression ']' SubscriptExpressionList ArrayDesignatorList

  377 IdentifierSuffix: '[' Expression ']'
  378                 | '[' '.' "class" ']'
  379                 | '[' ArrayDesignatorList '.' "class" ']'
  380                 | Arguments
  381                 | '.' "new" InnerCreator
  382                 | '.' "super" Arguments
  383                 | '.' "this"
  384                 | '.' ExplicitGenericInvocation
  385                 | '.' "class"
  386                 | '.' "new" NonWildcardTypeArguments InnerCreator

  387 ExplicitGenericInvocation: NonWildcardTypeArguments ExplicitGenericInvocationSuffix

  388 InnerCreator: Identifier ClassCreatorRest
  389             | Identifier NonWildcardTypeArgumentsOrDiamond ClassCreatorRest

  390 Selector: '.' Identifier
  391         | '.' Identifier Arguments
  392         | '.' ExplicitGenericInvocation
  393         | '.' "this"
  394         | '.' "super" SuperSuffix
  395         | '.' "new" InnerCreator
  396         | '.' "new" NonWildcardTypeArguments InnerCreator
  397         | '[' Expression ']'

  398 EnumBody: '{' '}'
  399         | '{' EnumBodyDeclarations '}'
  400         | '{' ',' '}'
  401         | '{' ',' EnumBodyDeclarations '}'
  402         | '{' EnumConstants '}'
  403         | '{' EnumConstants EnumBodyDeclarations '}'
  404         | '{' EnumConstants ',' '}'
  405         | '{' EnumConstants ',' EnumBodyDeclarations '}'

  406 EnumConstants: EnumConstant
  407              | EnumConstants ',' EnumConstant

  408 EnumConstant: Identifier
  409             | Identifier ClassBody
  410             | Identifier Arguments
  411             | Identifier Arguments ClassBody
  412             | Annotations Identifier
  413             | Annotations Identifier ClassBody
  414             | Annotations Identifier Arguments
  415             | Annotations Identifier Arguments ClassBody

  416 EnumBodyDeclarations: ';'
  417                     | ';' ClassBodyDeclarationList

  418 AnnotationTypeBody: '{' '}'
  419                   | '{' AnnotationTypeElementDeclarations '}'

  420 AnnotationTypeElementDeclarations: AnnotationTypeElementDeclaration
  421                                  | AnnotationTypeElementDeclarations AnnotationTypeElementDeclaration

  422 AnnotationTypeElementDeclaration: AnnotationTypeElementRest
  423                                 | ModifierList BOGUS AnnotationTypeElementRest

  424 AnnotationTypeElementRest: Type Identifier AnnotationMethodOrConstantRest ';'
  425                          | ClassDeclaration
  426                          | InterfaceDeclaration

  427 AnnotationMethodOrConstantRest: AnnotationMethodRest
  428                               | ConstantDeclaratorsRest

  429 AnnotationMethodRest: '(' ')'
  430                     | '(' ')' "default" ElementValue
  431                     | '(' ')' '[' ']'
  432                     | '(' ')' '[' ']' "default" ElementValue

  433 PostfixOpList: PostfixOp
  434              | PostfixOpList PostfixOp

  435 ClassBodyDeclarationList: ClassBodyDeclaration
  436                         | ClassBodyDeclarationList ClassBodyDeclaration

  437 PipeSeparatedQualifiedIdentifierList: '|' QualifiedIdentifier
  438                                     | PipeSeparatedQualifiedIdentifierList '|' QualifiedIdentifier

  439 VariableModifierList: VariableModifier
  440                     | VariableModifierList VariableModifier

  441 VariableDeclaratorList: ',' VariableDeclarator
  442                       | VariableDeclaratorList ',' VariableDeclarator

  443 SubscriptExpressionList: '[' Expression ']'
  444                        | SubscriptExpressionList '[' Expression ']'

  445 TypeArgumentList: TypeArgument
  446                 | TypeArgumentList ',' TypeArgument

  447 InterfaceBodyDeclarationList: InterfaceBodyDeclaration
  448                             | InterfaceBodyDeclarationList InterfaceBodyDeclaration

  449 ExpressionList: ',' Expression
  450               | ExpressionList ',' Expression

  451 SelectorList: Selector
  452             | SelectorList Selector

  453 TypeParameterList: TypeParameter
  454                  | TypeParameterList ',' TypeParameter

  455 ModifierList: Modifier
  456             | ModifierList BOGUS Modifier

  457 VariableInitializerList: ',' VariableInitializer
  458                        | VariableInitializerList ',' VariableInitializer

  459 ElementValuesList: ','
  460                  | ElementValue
  461                  | ElementValuesList ','
  462                  | ElementValuesList ElementValue

  463 SwitchBlockStatementGroupList: SwitchBlockStatementGroup
  464                              | SwitchBlockStatementGroupList SwitchBlockStatementGroup

  465 BlockStatementList: BlockStatement
  466                   | BlockStatementList BlockStatement

  467 ArrayDesignatorList: '[' ']'
  468                    | ArrayDesignatorList '[' ']'

  469 InfixOpExpression3List: InfixOp Expression3
  470                       | InfixOpExpression3List InfixOp Expression3

  471 DiamondKindIdentifierList: '.' Identifier
  472                          | '.' Identifier TypeArgumentsOrDiamond
  473                          | DiamondKindIdentifierList '.' Identifier
  474                          | DiamondKindIdentifierList '.' Identifier TypeArgumentsOrDiamond


Terminals, with rules where they appear

"end of file" (0) 0
'!' (33) 327
'%' (37) 317
'&' (38) 82 303
'(' (40) 98 99 175 176 220 239 240 244 245 319 320 353 354 355 356
    429 430 431 432
')' (41) 98 99 175 176 220 239 240 244 245 319 320 353 354 355 356
    429 430 431 432
'*' (42) 21 23 315
'+' (43) 313 329
',' (44) 4 73 103 164 165 182 197 199 277 400 401 404 405 407 441 442
    446 449 450 454 457 458 459 461
'-' (45) 314 330
'.' (46) 2 21 23 64 65 344 345 346 358 359 378 379 381 382 383 384
    385 386 390 391 392 393 394 395 396 471 472 473 474
'/' (47) 316
':' (58) 206 211 216 255 256 257 270 294
';' (59) 9 10 11 12 13 14 15 16 21 22 23 24 26 111 123 127 129 131
    133 135 137 141 142 149 158 167 168 169 170 171 172 207 208 210
    212 215 216 219 221 222 223 224 225 226 227 245 247 260 261 262
    263 266 267 268 269 416 417 424
'<' (60) 66 71 74 76 78 306
'=' (61) 104 162 163 190 192 248 249 272 274 280
'>' (62) 66 71 74 76 78 307
'?' (63) 68 69 70 294
'@' (64) 49 97 98 99
'[' (91) 371 372 373 374 375 376 377 378 379 397 431 432 443 444 467
    468
']' (93) 371 372 373 374 375 376 377 378 379 397 431 432 443 444 467
    468
'^' (94) 302
'{' (123) 108 109 110 147 148 195 196 197 198 199 200 217 398 399 400
    401 402 403 404 405 418 419
'|' (124) 301 437 438
'}' (125) 108 109 110 147 148 195 196 197 198 199 200 217 398 399 400
    401 402 403 404 405 418 419
'~' (126) 328
error (256)
BooleanLiteral (258) 351
CharacterLiteral (259) 349
FloatingPointLiteral (260) 348
IntegerLiteral (261) 347
NullLiteral (262) 352
StringLiteral (263) 350
Identifier <str_id> (264) 1 2 35 36 37 38 39 40 41 42 43 44 45 46 47
    48 49 62 63 64 65 79 80 104 117 118 122 144 145 146 153 157 166
    173 174 184 185 188 206 211 222 224 239 240 258 341 358 359 361
    365 366 367 368 388 389 390 391 408 409 410 411 412 413 414 415
    424 471 472 473 474
BOGUS (265) 29 423 456
API_ELISION (266) 141 142
"package" (267) 9 10 11 12 13 14 15 16
"import" (268) 21 22 23 24
"static" (269) 21 22 87 115
"class" (270) 35 36 37 38 39 40 41 42 344 345 346 378 379 385
"implements" (271) 36 38 40 42 44
"extends" (272) 37 38 41 42 46 48 70 80
"enum" (273) 43 44
"interface" (274) 45 46 47 48 49
"byte" (275) 54
"short" (276) 55
"char" (277) 56
"int" (278) 57
"long" (279) 58
"float" (280) 59
"double" (281) 60
"boolean" (282) 61
"super" (283) 69 337 360 382 394
"public" (284) 84
"protected" (285) 85
"private" (286) 86
"abstract" (287) 88
"final" (288) 89 179
"native" (289) 90
"synchronized" (290) 91 228
"transient" (291) 92
"volatile" (292) 93
"strictfp" (293) 94
"void" (294) 117 144 153 173 346
"throws" (295) 129 130 133 134 137 138 140 142 168 170 172
"..." (296) 183
"if" (297) 213 214
"else" (298) 214
"assert" (299) 215 216
"switch" (300) 217
"while" (301) 218 219
"do" (302) 219
"for" (303) 220
"break" (304) 221 222
"continue" (305) 223 224
"return" (306) 225 226
"throw" (307) 227
"try" (308) 229 230 231 232 233 234 235
"catch" (309) 239 240
"finally" (310) 243
"case" (311) 255 256
"default" (312) 257 430 432
"+=" (313) 281
"-=" (314) 282
"*=" (315) 283
"/=" (316) 284
"&=" (317) 285
"|=" (318) 286
"^=" (319) 287
"%=" (320) 288
"<<=" (321) 289
">>=" (322) 290
">>>=" (323) 291
"instanceof" (324) 298
"||" (325) 299
"&&" (326) 300
"==" (327) 304
"!=" (328) 305
"<=" (329) 308
">=" (330) 309
"<<" (331) 310
">>" (332) 311
">>>" (333) 312
"++" (334) 325 331
"--" (335) 326 332
"this" (336) 335 336 339 383 393
"new" (337) 338 381 386 395 396


Nonterminals, with rules where they appear

$accept (108)
    on left: 0
QualifiedIdentifier (109)
    on left: 1 2, on right: 2 3 4 9 10 11 12 13 14 15 16 21 22 23 24
    97 98 99 241 242 342 343 437 438
QualifiedIdentifierList (110)
    on left: 3 4, on right: 4 129 130 133 134 137 138 140 142 168 170
    172
CompilationUnit (111)
    on left: 5 6 7 8 9 10 11 12 13 14 15 16, on right: 0
ImportDeclarationList (112)
    on left: 17 18, on right: 6 7 11 12 13 14 18
TypeDeclarationList (113)
    on left: 19 20, on right: 7 8 13 14 15 16 20
ImportDeclaration (114)
    on left: 21 22 23 24, on right: 17 18
TypeDeclaration (115)
    on left: 25 26, on right: 19 20
ClassOrInterfaceDeclaration (116)
    on left: 27 28 29 30, on right: 25 204
ClassDeclaration (117)
    on left: 31 32, on right: 28 30 120 155 425
InterfaceDeclaration (118)
    on left: 33 34, on right: 27 29 121 156 426
NormalClassDeclaration (119)
    on left: 35 36 37 38 39 40 41 42, on right: 31
EnumDeclaration (120)
    on left: 43 44, on right: 32
NormalInterfaceDeclaration (121)
    on left: 45 46 47 48, on right: 33
AnnotationTypeDeclaration (122)
    on left: 49, on right: 34
Type <type_id> (123)
    on left: 50 51 52 53, on right: 37 38 41 42 122 145 157 174 177
    178 207 208 264 265 298 319 424
BasicType <type_id> (124)
    on left: 54 55 56 57 58 59 60 61, on right: 50 51 344 345
ReferenceType (125)
    on left: 62 63 64 65, on right: 52 53 64 65 67 69 70 72 73 81 82
    248 249
TypeArguments (126)
    on left: 66, on right: 63 65 75
TypeArgument (127)
    on left: 67 68 69 70, on right: 445 446
NonWildcardTypeArguments (128)
    on left: 71, on right: 77 339 340 362 386 387 396
TypeList (129)
    on left: 72 73, on right: 36 38 40 42 44 46 48 71 73
TypeArgumentsOrDiamond (130)
    on left: 74 75, on right: 366 368 472 474
NonWildcardTypeArgumentsOrDiamond (131)
    on left: 76 77, on right: 389
TypeParameters (132)
    on left: 78, on right: 39 40 41 42 47 48 143 173 174
TypeParameter (133)
    on left: 79 80, on right: 453 454
Bound (134)
    on left: 81 82, on right: 80 82
Modifier (135)
    on left: 83 84 85 86 87 88 89 90 91 92 93 94, on right: 455 456
Annotations (136)
    on left: 95 96, on right: 9 11 13 15 96 412 413 414 415
Annotation (137)
    on left: 97 98 99, on right: 83 95 96 105 180
AnnotationElement (138)
    on left: 100 101, on right: 99
ElementValuePairs (139)
    on left: 102 103, on right: 100 103
ElementValuePair (140)
    on left: 104, on right: 102 103
ElementValue (141)
    on left: 105 106 107, on right: 101 104 430 432 460 462
ElementValueArrayInitializer (142)
    on left: 108, on right: 107
ClassBody (143)
    on left: 109 110, on right: 35 36 37 38 39 40 41 42 370 409 411
    413 415
ClassBodyDeclaration (144)
    on left: 111 112 113 114 115, on right: 435 436
MemberDecl (145)
    on left: 116 117 118 119 120 121, on right: 112 113
MethodOrFieldDecl (146)
    on left: 122, on right: 116
MethodOrFieldRest <method_decl_rest> (147)
    on left: 123 124, on right: 122
FieldDeclaratorsRest (148)
    on left: 125 126, on right: 123
MethodDeclaratorRest <method_decl_rest> (149)
    on left: 127 128 129 130 131 132 133 134, on right: 124 145
VoidMethodDeclaratorRest (150)
    on left: 135 136 137 138, on right: 117 144
ConstructorDeclaratorRest (151)
    on left: 139 140 141 142, on right: 118 146
GenericMethodOrConstructorDecl (152)
    on left: 143, on right: 119
GenericMethodOrConstructorRest (153)
    on left: 144 145 146, on right: 143
InterfaceBody (154)
    on left: 147 148, on right: 45 46 47 48
InterfaceBodyDeclaration (155)
    on left: 149 150 151, on right: 447 448
InterfaceMemberDecl (156)
    on left: 152 153 154 155 156, on right: 150 151
InterfaceMethodOrFieldDecl (157)
    on left: 157, on right: 152
InterfaceMethodOrFieldRest (158)
    on left: 158 159, on right: 157
ConstantDeclaratorsRest (159)
    on left: 160 161, on right: 158 428
ConstantDeclaratorRest (160)
    on left: 162 163, on right: 160 161 166
ConstantDeclaratorList (161)
    on left: 164 165, on right: 161 165
ConstantDeclarator (162)
    on left: 166, on right: 164 165
InterfaceMethodDeclaratorRest (163)
    on left: 167 168 169 170, on right: 159 174
VoidInterfaceMethodDeclaratorRest (164)
    on left: 171 172, on right: 153 173
InterfaceGenericMethodDecl (165)
    on left: 173 174, on right: 154
FormalParameters <method_decl_rest.formal_params> (166)
    on left: 175 176, on right: 127 128 129 130 131 132 133 134 135
    136 137 138 139 140 141 142 167 168 169 170 171 172
FormalParameterDecls (167)
    on left: 177 178, on right: 176 182
VariableModifier (168)
    on left: 179 180, on right: 439 440
FormalParameterDeclsRest (169)
    on left: 181 182 183, on right: 177 178
VariableDeclaratorId (170)
    on left: 184 185, on right: 181 182 183 248 249 264 265
VariableDeclarators (171)
    on left: 186 187, on right: 207 208
VariableDeclarator (172)
    on left: 188, on right: 186 187 441 442
VariableDeclaratorRest (173)
    on left: 189 190 191 192, on right: 125 126 188
VariableInitializer (174)
    on left: 193 194, on right: 162 163 190 192 196 197 198 199 272
    274 457 458
ArrayInitializer (175)
    on left: 195 196 197 198 199, on right: 193 372 374
Block (176)
    on left: 200, on right: 114 115 128 130 132 134 136 138 139 140
    209 228 229 230 231 232 233 234 235 239 240 243
BlockStatements (177)
    on left: 201 202, on right: 200 252
BlockStatement (178)
    on left: 203 204 205 206, on right: 465 466
LocalVariableDeclarationStatement (179)
    on left: 207 208, on right: 203
Statement (180)
    on left: 209 210 211 212 213 214 215 216 217 218 219 220 221 222
    223 224 225 226 227 228 229 230 231 232 233 234 235, on right:
    205 206 211 213 214 218 219 220
StatementExpression (181)
    on left: 236, on right: 212 276 277
Catches (182)
    on left: 237 238, on right: 230 231 234 235 238
CatchClause (183)
    on left: 239 240, on right: 237 238
CatchType (184)
    on left: 241 242, on right: 239 240
Finally (185)
    on left: 243, on right: 229 231 233 235
ResourceSpecification (186)
    on left: 244 245, on right: 232 233 234 235
Resources (187)
    on left: 246 247, on right: 244 245 247
Resource (188)
    on left: 248 249, on right: 246 247
SwitchBlockStatementGroups (189)
    on left: 250 251, on right: 217
SwitchBlockStatementGroup (190)
    on left: 252, on right: 463 464
SwitchLabels (191)
    on left: 253 254, on right: 252 254
SwitchLabel (192)
    on left: 255 256 257, on right: 253 254
EnumConstantName (193)
    on left: 258, on right: 256
ForControl (194)
    on left: 259 260 261 262 263, on right: 220
ForVarControl (195)
    on left: 264 265, on right: 259
ForVarControlRest (196)
    on left: 266 267 268 269 270, on right: 264 265
ForVariableDeclaratorsRest (197)
    on left: 271 272 273 274, on right: 266 267 268 269
ForInit (198)
    on left: 275, on right: 260 261 262 263
ForUpdate (199)
    on left: 276 277, on right: 261 263 267 269 275 277
Expression (200)
    on left: 278 279, on right: 194 215 216 226 227 236 248 249 255
    262 263 268 269 270 294 320 353 355 356 371 373 375 376 377 397
    443 444 449 450
AssignmentOperator (201)
    on left: 280 281 282 283 284 285 286 287 288 289 290 291, on right:
    279
Expression1 (202)
    on left: 292 293, on right: 106 278 279 294
Expression1Rest (203)
    on left: 294, on right: 293
Expression2 (204)
    on left: 295 296, on right: 292 293
Expression2Rest (205)
    on left: 297 298, on right: 296
InfixOp (206)
    on left: 299 300 301 302 303 304 305 306 307 308 309 310 311 312
    313 314 315 316 317, on right: 469 470
Expression3 (207)
    on left: 318 319 320 321 322 323 324, on right: 295 296 318 319
    320 469 470
PrefixOp (208)
    on left: 325 326 327 328 329 330, on right: 318
PostfixOp (209)
    on left: 331 332, on right: 433 434
Primary (210)
    on left: 333 334 335 336 337 338 339 340 341 342 343 344 345 346,
    on right: 321 322 323 324
Literal (211)
    on left: 347 348 349 350 351 352, on right: 333
ParExpression (212)
    on left: 353, on right: 213 214 217 218 219 228 334
Arguments (213)
    on left: 354 355 356, on right: 336 339 357 359 361 369 370 380
    382 391 410 411 414 415
SuperSuffix (214)
    on left: 357 358 359, on right: 337 360 394
ExplicitGenericInvocationSuffix (215)
    on left: 360 361, on right: 340 387
Creator (216)
    on left: 362 363 364, on right: 338
CreatedName (217)
    on left: 365 366 367 368, on right: 362 363 364
ClassCreatorRest (218)
    on left: 369 370, on right: 362 364 388 389
ArrayCreatorRest (219)
    on left: 371 372 373 374 375 376, on right: 363
IdentifierSuffix (220)
    on left: 377 378 379 380 381 382 383 384 385 386, on right: 341
    343
ExplicitGenericInvocation (221)
    on left: 387, on right: 384 392
InnerCreator (222)
    on left: 388 389, on right: 381 386 395 396
Selector (223)
    on left: 390 391 392 393 394 395 396 397, on right: 451 452
EnumBody (224)
    on left: 398 399 400 401 402 403 404 405, on right: 43 44
EnumConstants (225)
    on left: 406 407, on right: 402 403 404 405 407
EnumConstant (226)
    on left: 408 409 410 411 412 413 414 415, on right: 406 407
EnumBodyDeclarations (227)
    on left: 416 417, on right: 399 401 403 405
AnnotationTypeBody (228)
    on left: 418 419, on right: 49
AnnotationTypeElementDeclarations (229)
    on left: 420 421, on right: 419 421
AnnotationTypeElementDeclaration (230)
    on left: 422 423, on right: 420 421
AnnotationTypeElementRest (231)
    on left: 424 425 426, on right: 422 423
AnnotationMethodOrConstantRest (232)
    on left: 427 428, on right: 424
AnnotationMethodRest (233)
    on left: 429 430 431 432, on right: 427
PostfixOpList (234)
    on left: 433 434, on right: 323 324 434
ClassBodyDeclarationList (235)
    on left: 435 436, on right: 110 417 436
PipeSeparatedQualifiedIdentifierList (236)
    on left: 437 438, on right: 242 438
VariableModifierList (237)
    on left: 439 440, on right: 178 208 240 249 265 440
VariableDeclaratorList (238)
    on left: 441 442, on right: 126 187 273 274 442
SubscriptExpressionList (239)
    on left: 443 444, on right: 375 376 444
TypeArgumentList (240)
    on left: 445 446, on right: 66 446
InterfaceBodyDeclarationList (241)
    on left: 447 448, on right: 148 448
ExpressionList (242)
    on left: 449 450, on right: 356 450
SelectorList (243)
    on left: 451 452, on right: 322 324 452
TypeParameterList (244)
    on left: 453 454, on right: 78 454
ModifierList (245)
    on left: 455 456, on right: 29 30 113 151 423 456
VariableInitializerList (246)
    on left: 457 458, on right: 198 199 458
ElementValuesList (247)
    on left: 459 460 461 462, on right: 108 461 462
SwitchBlockStatementGroupList (248)
    on left: 463 464, on right: 251 464
BlockStatementList (249)
    on left: 465 466, on right: 202 466
ArrayDesignatorList (250)
    on left: 467 468, on right: 51 53 131 132 133 134 163 169 170 185
    191 192 345 373 374 376 379 468
InfixOpExpression3List (251)
    on left: 469 470, on right: 297 470
DiamondKindIdentifierList (252)
    on left: 471 472 473 474, on right: 367 368 473 474


State 0

    0 $accept: . CompilationUnit "end of file"
    5 CompilationUnit: . %empty  ["end of file"]
    6                | . ImportDeclarationList
    7                | . ImportDeclarationList TypeDeclarationList
    8                | . TypeDeclarationList
    9                | . Annotations "package" QualifiedIdentifier ';'
   10                | . "package" QualifiedIdentifier ';'
   11                | . Annotations "package" QualifiedIdentifier ';' ImportDeclarationList
   12                | . "package" QualifiedIdentifier ';' ImportDeclarationList
   13                | . Annotations "package" QualifiedIdentifier ';' ImportDeclarationList TypeDeclarationList
   14                | . "package" QualifiedIdentifier ';' ImportDeclarationList TypeDeclarationList
   15                | . Annotations "package" QualifiedIdentifier ';' TypeDeclarationList
   16                | . "package" QualifiedIdentifier ';' TypeDeclarationList
   17 ImportDeclarationList: . ImportDeclaration
   18                      | . ImportDeclarationList ImportDeclaration
   19 TypeDeclarationList: . TypeDeclaration
   20                    | . TypeDeclarationList TypeDeclaration
   21 ImportDeclaration: . "import" "static" QualifiedIdentifier '.' '*' ';'
   22                  | . "import" "static" QualifiedIdentifier ';'
   23                  | . "import" QualifiedIdentifier '.' '*' ';'
   24                  | . "import" QualifiedIdentifier ';'
   25 TypeDeclaration: . ClassOrInterfaceDeclaration
   26                | . ';'
   27 ClassOrInterfaceDeclaration: . InterfaceDeclaration
   28                            | . ClassDeclaration
   29                            | . ModifierList BOGUS InterfaceDeclaration
   30                            | . ModifierList ClassDeclaration
   31 ClassDeclaration: . NormalClassDeclaration
   32                 | . EnumDeclaration
   33 InterfaceDeclaration: . NormalInterfaceDeclaration
   34                     | . AnnotationTypeDeclaration
   35 NormalClassDeclaration: . "class" Identifier ClassBody
   36                       | . "class" Identifier "implements" TypeList ClassBody
   37                       | . "class" Identifier "extends" Type ClassBody
   38                       | . "class" Identifier "extends" Type "implements" TypeList ClassBody
   39                       | . "class" Identifier TypeParameters ClassBody
   40                       | . "class" Identifier TypeParameters "implements" TypeList ClassBody
   41                       | . "class" Identifier TypeParameters "extends" Type ClassBody
   42                       | . "class" Identifier TypeParameters "extends" Type "implements" TypeList ClassBody
   43 EnumDeclaration: . "enum" Identifier EnumBody
   44                | . "enum" Identifier "implements" TypeList EnumBody
   45 NormalInterfaceDeclaration: . "interface" Identifier InterfaceBody
   46                           | . "interface" Identifier "extends" TypeList InterfaceBody
   47                           | . "interface" Identifier TypeParameters InterfaceBody
   48                           | . "interface" Identifier TypeParameters "extends" TypeList InterfaceBody
   49 AnnotationTypeDeclaration: . '@' "interface" Identifier AnnotationTypeBody
   83 Modifier: . Annotation
   84         | . "public"
   85         | . "protected"
   86         | . "private"
   87         | . "static"
   88         | . "abstract"
   89         | . "final"
   90         | . "native"
   91         | . "synchronized"
   92         | . "transient"
   93         | . "volatile"
   94         | . "strictfp"
   95 Annotations: . Annotation
   96            | . Annotations Annotation
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  455 ModifierList: . Modifier
  456             | . ModifierList BOGUS Modifier

    "package"       shift, and go to state 1
    ';'             shift, and go to state 2
    "import"        shift, and go to state 3
    "static"        shift, and go to state 4
    "class"         shift, and go to state 5
    "enum"          shift, and go to state 6
    "interface"     shift, and go to state 7
    '@'             shift, and go to state 8
    "public"        shift, and go to state 9
    "protected"     shift, and go to state 10
    "private"       shift, and go to state 11
    "abstract"      shift, and go to state 12
    "final"         shift, and go to state 13
    "native"        shift, and go to state 14
    "synchronized"  shift, and go to state 15
    "transient"     shift, and go to state 16
    "volatile"      shift, and go to state 17
    "strictfp"      shift, and go to state 18

    $default  reduce using rule 5 (CompilationUnit)

    CompilationUnit              go to state 19
    ImportDeclarationList        go to state 20
    TypeDeclarationList          go to state 21
    ImportDeclaration            go to state 22
    TypeDeclaration              go to state 23
    ClassOrInterfaceDeclaration  go to state 24
    ClassDeclaration             go to state 25
    InterfaceDeclaration         go to state 26
    NormalClassDeclaration       go to state 27
    EnumDeclaration              go to state 28
    NormalInterfaceDeclaration   go to state 29
    AnnotationTypeDeclaration    go to state 30
    Modifier                     go to state 31
    Annotations                  go to state 32
    Annotation                   go to state 33
    ModifierList                 go to state 34


State 1

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   10 CompilationUnit: "package" . QualifiedIdentifier ';'
   12                | "package" . QualifiedIdentifier ';' ImportDeclarationList
   14                | "package" . QualifiedIdentifier ';' ImportDeclarationList TypeDeclarationList
   16                | "package" . QualifiedIdentifier ';' TypeDeclarationList

    Identifier  shift, and go to state 35

    QualifiedIdentifier  go to state 36


State 2

   26 TypeDeclaration: ';' .

    $default  reduce using rule 26 (TypeDeclaration)


State 3

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   21 ImportDeclaration: "import" . "static" QualifiedIdentifier '.' '*' ';'
   22                  | "import" . "static" QualifiedIdentifier ';'
   23                  | "import" . QualifiedIdentifier '.' '*' ';'
   24                  | "import" . QualifiedIdentifier ';'

    Identifier  shift, and go to state 35
    "static"    shift, and go to state 37

    QualifiedIdentifier  go to state 38


State 4

   87 Modifier: "static" .

    $default  reduce using rule 87 (Modifier)


State 5

   35 NormalClassDeclaration: "class" . Identifier ClassBody
   36                       | "class" . Identifier "implements" TypeList ClassBody
   37                       | "class" . Identifier "extends" Type ClassBody
   38                       | "class" . Identifier "extends" Type "implements" TypeList ClassBody
   39                       | "class" . Identifier TypeParameters ClassBody
   40                       | "class" . Identifier TypeParameters "implements" TypeList ClassBody
   41                       | "class" . Identifier TypeParameters "extends" Type ClassBody
   42                       | "class" . Identifier TypeParameters "extends" Type "implements" TypeList ClassBody

    Identifier  shift, and go to state 39


State 6

   43 EnumDeclaration: "enum" . Identifier EnumBody
   44                | "enum" . Identifier "implements" TypeList EnumBody

    Identifier  shift, and go to state 40


State 7

   45 NormalInterfaceDeclaration: "interface" . Identifier InterfaceBody
   46                           | "interface" . Identifier "extends" TypeList InterfaceBody
   47                           | "interface" . Identifier TypeParameters InterfaceBody
   48                           | "interface" . Identifier TypeParameters "extends" TypeList InterfaceBody

    Identifier  shift, and go to state 41


State 8

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   49 AnnotationTypeDeclaration: '@' . "interface" Identifier AnnotationTypeBody
   97 Annotation: '@' . QualifiedIdentifier
   98           | '@' . QualifiedIdentifier '(' ')'
   99           | '@' . QualifiedIdentifier '(' AnnotationElement ')'

    Identifier   shift, and go to state 35
    "interface"  shift, and go to state 42

    QualifiedIdentifier  go to state 43


State 9

   84 Modifier: "public" .

    $default  reduce using rule 84 (Modifier)


State 10

   85 Modifier: "protected" .

    $default  reduce using rule 85 (Modifier)


State 11

   86 Modifier: "private" .

    $default  reduce using rule 86 (Modifier)


State 12

   88 Modifier: "abstract" .

    $default  reduce using rule 88 (Modifier)


State 13

   89 Modifier: "final" .

    $default  reduce using rule 89 (Modifier)


State 14

   90 Modifier: "native" .

    $default  reduce using rule 90 (Modifier)


State 15

   91 Modifier: "synchronized" .

    $default  reduce using rule 91 (Modifier)


State 16

   92 Modifier: "transient" .

    $default  reduce using rule 92 (Modifier)


State 17

   93 Modifier: "volatile" .

    $default  reduce using rule 93 (Modifier)


State 18

   94 Modifier: "strictfp" .

    $default  reduce using rule 94 (Modifier)


State 19

    0 $accept: CompilationUnit . "end of file"

    "end of file"  shift, and go to state 44


State 20

    6 CompilationUnit: ImportDeclarationList .  ["end of file"]
    7                | ImportDeclarationList . TypeDeclarationList
   18 ImportDeclarationList: ImportDeclarationList . ImportDeclaration
   19 TypeDeclarationList: . TypeDeclaration
   20                    | . TypeDeclarationList TypeDeclaration
   21 ImportDeclaration: . "import" "static" QualifiedIdentifier '.' '*' ';'
   22                  | . "import" "static" QualifiedIdentifier ';'
   23                  | . "import" QualifiedIdentifier '.' '*' ';'
   24                  | . "import" QualifiedIdentifier ';'
   25 TypeDeclaration: . ClassOrInterfaceDeclaration
   26                | . ';'
   27 ClassOrInterfaceDeclaration: . InterfaceDeclaration
   28                            | . ClassDeclaration
   29                            | . ModifierList BOGUS InterfaceDeclaration
   30                            | . ModifierList ClassDeclaration
   31 ClassDeclaration: . NormalClassDeclaration
   32                 | . EnumDeclaration
   33 InterfaceDeclaration: . NormalInterfaceDeclaration
   34                     | . AnnotationTypeDeclaration
   35 NormalClassDeclaration: . "class" Identifier ClassBody
   36                       | . "class" Identifier "implements" TypeList ClassBody
   37                       | . "class" Identifier "extends" Type ClassBody
   38                       | . "class" Identifier "extends" Type "implements" TypeList ClassBody
   39                       | . "class" Identifier TypeParameters ClassBody
   40                       | . "class" Identifier TypeParameters "implements" TypeList ClassBody
   41                       | . "class" Identifier TypeParameters "extends" Type ClassBody
   42                       | . "class" Identifier TypeParameters "extends" Type "implements" TypeList ClassBody
   43 EnumDeclaration: . "enum" Identifier EnumBody
   44                | . "enum" Identifier "implements" TypeList EnumBody
   45 NormalInterfaceDeclaration: . "interface" Identifier InterfaceBody
   46                           | . "interface" Identifier "extends" TypeList InterfaceBody
   47                           | . "interface" Identifier TypeParameters InterfaceBody
   48                           | . "interface" Identifier TypeParameters "extends" TypeList InterfaceBody
   49 AnnotationTypeDeclaration: . '@' "interface" Identifier AnnotationTypeBody
   83 Modifier: . Annotation
   84         | . "public"
   85         | . "protected"
   86         | . "private"
   87         | . "static"
   88         | . "abstract"
   89         | . "final"
   90         | . "native"
   91         | . "synchronized"
   92         | . "transient"
   93         | . "volatile"
   94         | . "strictfp"
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  455 ModifierList: . Modifier
  456             | . ModifierList BOGUS Modifier

    ';'             shift, and go to state 2
    "import"        shift, and go to state 3
    "static"        shift, and go to state 4
    "class"         shift, and go to state 5
    "enum"          shift, and go to state 6
    "interface"     shift, and go to state 7
    '@'             shift, and go to state 8
    "public"        shift, and go to state 9
    "protected"     shift, and go to state 10
    "private"       shift, and go to state 11
    "abstract"      shift, and go to state 12
    "final"         shift, and go to state 13
    "native"        shift, and go to state 14
    "synchronized"  shift, and go to state 15
    "transient"     shift, and go to state 16
    "volatile"      shift, and go to state 17
    "strictfp"      shift, and go to state 18

    $default  reduce using rule 6 (CompilationUnit)

    TypeDeclarationList          go to state 45
    ImportDeclaration            go to state 46
    TypeDeclaration              go to state 23
    ClassOrInterfaceDeclaration  go to state 24
    ClassDeclaration             go to state 25
    InterfaceDeclaration         go to state 26
    NormalClassDeclaration       go to state 27
    EnumDeclaration              go to state 28
    NormalInterfaceDeclaration   go to state 29
    AnnotationTypeDeclaration    go to state 30
    Modifier                     go to state 31
    Annotation                   go to state 47
    ModifierList                 go to state 34


State 21

    8 CompilationUnit: TypeDeclarationList .  ["end of file"]
   20 TypeDeclarationList: TypeDeclarationList . TypeDeclaration
   25 TypeDeclaration: . ClassOrInterfaceDeclaration
   26                | . ';'
   27 ClassOrInterfaceDeclaration: . InterfaceDeclaration
   28                            | . ClassDeclaration
   29                            | . ModifierList BOGUS InterfaceDeclaration
   30                            | . ModifierList ClassDeclaration
   31 ClassDeclaration: . NormalClassDeclaration
   32                 | . EnumDeclaration
   33 InterfaceDeclaration: . NormalInterfaceDeclaration
   34                     | . AnnotationTypeDeclaration
   35 NormalClassDeclaration: . "class" Identifier ClassBody
   36                       | . "class" Identifier "implements" TypeList ClassBody
   37                       | . "class" Identifier "extends" Type ClassBody
   38                       | . "class" Identifier "extends" Type "implements" TypeList ClassBody
   39                       | . "class" Identifier TypeParameters ClassBody
   40                       | . "class" Identifier TypeParameters "implements" TypeList ClassBody
   41                       | . "class" Identifier TypeParameters "extends" Type ClassBody
   42                       | . "class" Identifier TypeParameters "extends" Type "implements" TypeList ClassBody
   43 EnumDeclaration: . "enum" Identifier EnumBody
   44                | . "enum" Identifier "implements" TypeList EnumBody
   45 NormalInterfaceDeclaration: . "interface" Identifier InterfaceBody
   46                           | . "interface" Identifier "extends" TypeList InterfaceBody
   47                           | . "interface" Identifier TypeParameters InterfaceBody
   48                           | . "interface" Identifier TypeParameters "extends" TypeList InterfaceBody
   49 AnnotationTypeDeclaration: . '@' "interface" Identifier AnnotationTypeBody
   83 Modifier: . Annotation
   84         | . "public"
   85         | . "protected"
   86         | . "private"
   87         | . "static"
   88         | . "abstract"
   89         | . "final"
   90         | . "native"
   91         | . "synchronized"
   92         | . "transient"
   93         | . "volatile"
   94         | . "strictfp"
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  455 ModifierList: . Modifier
  456             | . ModifierList BOGUS Modifier

    ';'             shift, and go to state 2
    "static"        shift, and go to state 4
    "class"         shift, and go to state 5
    "enum"          shift, and go to state 6
    "interface"     shift, and go to state 7
    '@'             shift, and go to state 8
    "public"        shift, and go to state 9
    "protected"     shift, and go to state 10
    "private"       shift, and go to state 11
    "abstract"      shift, and go to state 12
    "final"         shift, and go to state 13
    "native"        shift, and go to state 14
    "synchronized"  shift, and go to state 15
    "transient"     shift, and go to state 16
    "volatile"      shift, and go to state 17
    "strictfp"      shift, and go to state 18

    $default  reduce using rule 8 (CompilationUnit)

    TypeDeclaration              go to state 48
    ClassOrInterfaceDeclaration  go to state 24
    ClassDeclaration             go to state 25
    InterfaceDeclaration         go to state 26
    NormalClassDeclaration       go to state 27
    EnumDeclaration              go to state 28
    NormalInterfaceDeclaration   go to state 29
    AnnotationTypeDeclaration    go to state 30
    Modifier                     go to state 31
    Annotation                   go to state 47
    ModifierList                 go to state 34


State 22

   17 ImportDeclarationList: ImportDeclaration .

    $default  reduce using rule 17 (ImportDeclarationList)


State 23

   19 TypeDeclarationList: TypeDeclaration .

    $default  reduce using rule 19 (TypeDeclarationList)


State 24

   25 TypeDeclaration: ClassOrInterfaceDeclaration .

    $default  reduce using rule 25 (TypeDeclaration)


State 25

   28 ClassOrInterfaceDeclaration: ClassDeclaration .

    $default  reduce using rule 28 (ClassOrInterfaceDeclaration)


State 26

   27 ClassOrInterfaceDeclaration: InterfaceDeclaration .

    $default  reduce using rule 27 (ClassOrInterfaceDeclaration)


State 27

   31 ClassDeclaration: NormalClassDeclaration .

    $default  reduce using rule 31 (ClassDeclaration)


State 28

   32 ClassDeclaration: EnumDeclaration .

    $default  reduce using rule 32 (ClassDeclaration)


State 29

   33 InterfaceDeclaration: NormalInterfaceDeclaration .

    $default  reduce using rule 33 (InterfaceDeclaration)


State 30

   34 InterfaceDeclaration: AnnotationTypeDeclaration .

    $default  reduce using rule 34 (InterfaceDeclaration)


State 31

  455 ModifierList: Modifier .

    $default  reduce using rule 455 (ModifierList)


State 32

    9 CompilationUnit: Annotations . "package" QualifiedIdentifier ';'
   11                | Annotations . "package" QualifiedIdentifier ';' ImportDeclarationList
   13                | Annotations . "package" QualifiedIdentifier ';' ImportDeclarationList TypeDeclarationList
   15                | Annotations . "package" QualifiedIdentifier ';' TypeDeclarationList
   96 Annotations: Annotations . Annotation
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'

    "package"  shift, and go to state 49
    '@'        shift, and go to state 50

    Annotation  go to state 51


State 33

   83 Modifier: Annotation .  [BOGUS, "class", "enum"]
   95 Annotations: Annotation .  ["package", '@']

    "package"  reduce using rule 95 (Annotations)
    '@'        reduce using rule 95 (Annotations)
    $default   reduce using rule 83 (Modifier)


State 34

   29 ClassOrInterfaceDeclaration: ModifierList . BOGUS InterfaceDeclaration
   30                            | ModifierList . ClassDeclaration
   31 ClassDeclaration: . NormalClassDeclaration
   32                 | . EnumDeclaration
   35 NormalClassDeclaration: . "class" Identifier ClassBody
   36                       | . "class" Identifier "implements" TypeList ClassBody
   37                       | . "class" Identifier "extends" Type ClassBody
   38                       | . "class" Identifier "extends" Type "implements" TypeList ClassBody
   39                       | . "class" Identifier TypeParameters ClassBody
   40                       | . "class" Identifier TypeParameters "implements" TypeList ClassBody
   41                       | . "class" Identifier TypeParameters "extends" Type ClassBody
   42                       | . "class" Identifier TypeParameters "extends" Type "implements" TypeList ClassBody
   43 EnumDeclaration: . "enum" Identifier EnumBody
   44                | . "enum" Identifier "implements" TypeList EnumBody
  456 ModifierList: ModifierList . BOGUS Modifier

    BOGUS    shift, and go to state 52
    "class"  shift, and go to state 5
    "enum"   shift, and go to state 6

    ClassDeclaration        go to state 53
    NormalClassDeclaration  go to state 27
    EnumDeclaration         go to state 28


State 35

    1 QualifiedIdentifier: Identifier .

    $default  reduce using rule 1 (QualifiedIdentifier)


State 36

    2 QualifiedIdentifier: QualifiedIdentifier . '.' Identifier
   10 CompilationUnit: "package" QualifiedIdentifier . ';'
   12                | "package" QualifiedIdentifier . ';' ImportDeclarationList
   14                | "package" QualifiedIdentifier . ';' ImportDeclarationList TypeDeclarationList
   16                | "package" QualifiedIdentifier . ';' TypeDeclarationList

    '.'  shift, and go to state 54
    ';'  shift, and go to state 55


State 37

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   21 ImportDeclaration: "import" "static" . QualifiedIdentifier '.' '*' ';'
   22                  | "import" "static" . QualifiedIdentifier ';'

    Identifier  shift, and go to state 35

    QualifiedIdentifier  go to state 56


State 38

    2 QualifiedIdentifier: QualifiedIdentifier . '.' Identifier
   23 ImportDeclaration: "import" QualifiedIdentifier . '.' '*' ';'
   24                  | "import" QualifiedIdentifier . ';'

    '.'  shift, and go to state 57
    ';'  shift, and go to state 58


State 39

   35 NormalClassDeclaration: "class" Identifier . ClassBody
   36                       | "class" Identifier . "implements" TypeList ClassBody
   37                       | "class" Identifier . "extends" Type ClassBody
   38                       | "class" Identifier . "extends" Type "implements" TypeList ClassBody
   39                       | "class" Identifier . TypeParameters ClassBody
   40                       | "class" Identifier . TypeParameters "implements" TypeList ClassBody
   41                       | "class" Identifier . TypeParameters "extends" Type ClassBody
   42                       | "class" Identifier . TypeParameters "extends" Type "implements" TypeList ClassBody
   78 TypeParameters: . '<' TypeParameterList '>'
  109 ClassBody: . '{' '}'
  110          | . '{' ClassBodyDeclarationList '}'

    "implements"  shift, and go to state 59
    "extends"     shift, and go to state 60
    '<'           shift, and go to state 61
    '{'           shift, and go to state 62

    TypeParameters  go to state 63
    ClassBody       go to state 64


State 40

   43 EnumDeclaration: "enum" Identifier . EnumBody
   44                | "enum" Identifier . "implements" TypeList EnumBody
  398 EnumBody: . '{' '}'
  399         | . '{' EnumBodyDeclarations '}'
  400         | . '{' ',' '}'
  401         | . '{' ',' EnumBodyDeclarations '}'
  402         | . '{' EnumConstants '}'
  403         | . '{' EnumConstants EnumBodyDeclarations '}'
  404         | . '{' EnumConstants ',' '}'
  405         | . '{' EnumConstants ',' EnumBodyDeclarations '}'

    "implements"  shift, and go to state 65
    '{'           shift, and go to state 66

    EnumBody  go to state 67


State 41

   45 NormalInterfaceDeclaration: "interface" Identifier . InterfaceBody
   46                           | "interface" Identifier . "extends" TypeList InterfaceBody
   47                           | "interface" Identifier . TypeParameters InterfaceBody
   48                           | "interface" Identifier . TypeParameters "extends" TypeList InterfaceBody
   78 TypeParameters: . '<' TypeParameterList '>'
  147 InterfaceBody: . '{' '}'
  148              | . '{' InterfaceBodyDeclarationList '}'

    "extends"  shift, and go to state 68
    '<'        shift, and go to state 61
    '{'        shift, and go to state 69

    TypeParameters  go to state 70
    InterfaceBody   go to state 71


State 42

   49 AnnotationTypeDeclaration: '@' "interface" . Identifier AnnotationTypeBody

    Identifier  shift, and go to state 72


State 43

    2 QualifiedIdentifier: QualifiedIdentifier . '.' Identifier
   97 Annotation: '@' QualifiedIdentifier .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, BOGUS, ',', "package", ';', "class", "enum", "interface", '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', "super", "final", '(', ')', '{', '}', "void", '+', '-', "++", "--", '!', '~', "this", "new"]
   98           | '@' QualifiedIdentifier . '(' ')'
   99           | '@' QualifiedIdentifier . '(' AnnotationElement ')'

    '.'  shift, and go to state 54
    '('  shift, and go to state 73

    '('       [reduce using rule 97 (Annotation)]
    $default  reduce using rule 97 (Annotation)


State 44

    0 $accept: CompilationUnit "end of file" .

    $default  accept


State 45

    7 CompilationUnit: ImportDeclarationList TypeDeclarationList .  ["end of file"]
   20 TypeDeclarationList: TypeDeclarationList . TypeDeclaration
   25 TypeDeclaration: . ClassOrInterfaceDeclaration
   26                | . ';'
   27 ClassOrInterfaceDeclaration: . InterfaceDeclaration
   28                            | . ClassDeclaration
   29                            | . ModifierList BOGUS InterfaceDeclaration
   30                            | . ModifierList ClassDeclaration
   31 ClassDeclaration: . NormalClassDeclaration
   32                 | . EnumDeclaration
   33 InterfaceDeclaration: . NormalInterfaceDeclaration
   34                     | . AnnotationTypeDeclaration
   35 NormalClassDeclaration: . "class" Identifier ClassBody
   36                       | . "class" Identifier "implements" TypeList ClassBody
   37                       | . "class" Identifier "extends" Type ClassBody
   38                       | . "class" Identifier "extends" Type "implements" TypeList ClassBody
   39                       | . "class" Identifier TypeParameters ClassBody
   40                       | . "class" Identifier TypeParameters "implements" TypeList ClassBody
   41                       | . "class" Identifier TypeParameters "extends" Type ClassBody
   42                       | . "class" Identifier TypeParameters "extends" Type "implements" TypeList ClassBody
   43 EnumDeclaration: . "enum" Identifier EnumBody
   44                | . "enum" Identifier "implements" TypeList EnumBody
   45 NormalInterfaceDeclaration: . "interface" Identifier InterfaceBody
   46                           | . "interface" Identifier "extends" TypeList InterfaceBody
   47                           | . "interface" Identifier TypeParameters InterfaceBody
   48                           | . "interface" Identifier TypeParameters "extends" TypeList InterfaceBody
   49 AnnotationTypeDeclaration: . '@' "interface" Identifier AnnotationTypeBody
   83 Modifier: . Annotation
   84         | . "public"
   85         | . "protected"
   86         | . "private"
   87         | . "static"
   88         | . "abstract"
   89         | . "final"
   90         | . "native"
   91         | . "synchronized"
   92         | . "transient"
   93         | . "volatile"
   94         | . "strictfp"
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  455 ModifierList: . Modifier
  456             | . ModifierList BOGUS Modifier

    ';'             shift, and go to state 2
    "static"        shift, and go to state 4
    "class"         shift, and go to state 5
    "enum"          shift, and go to state 6
    "interface"     shift, and go to state 7
    '@'             shift, and go to state 8
    "public"        shift, and go to state 9
    "protected"     shift, and go to state 10
    "private"       shift, and go to state 11
    "abstract"      shift, and go to state 12
    "final"         shift, and go to state 13
    "native"        shift, and go to state 14
    "synchronized"  shift, and go to state 15
    "transient"     shift, and go to state 16
    "volatile"      shift, and go to state 17
    "strictfp"      shift, and go to state 18

    $default  reduce using rule 7 (CompilationUnit)

    TypeDeclaration              go to state 48
    ClassOrInterfaceDeclaration  go to state 24
    ClassDeclaration             go to state 25
    InterfaceDeclaration         go to state 26
    NormalClassDeclaration       go to state 27
    EnumDeclaration              go to state 28
    NormalInterfaceDeclaration   go to state 29
    AnnotationTypeDeclaration    go to state 30
    Modifier                     go to state 31
    Annotation                   go to state 47
    ModifierList                 go to state 34


State 46

   18 ImportDeclarationList: ImportDeclarationList ImportDeclaration .

    $default  reduce using rule 18 (ImportDeclarationList)


State 47

   83 Modifier: Annotation .

    $default  reduce using rule 83 (Modifier)


State 48

   20 TypeDeclarationList: TypeDeclarationList TypeDeclaration .

    $default  reduce using rule 20 (TypeDeclarationList)


State 49

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
    9 CompilationUnit: Annotations "package" . QualifiedIdentifier ';'
   11                | Annotations "package" . QualifiedIdentifier ';' ImportDeclarationList
   13                | Annotations "package" . QualifiedIdentifier ';' ImportDeclarationList TypeDeclarationList
   15                | Annotations "package" . QualifiedIdentifier ';' TypeDeclarationList

    Identifier  shift, and go to state 35

    QualifiedIdentifier  go to state 74


State 50

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   97 Annotation: '@' . QualifiedIdentifier
   98           | '@' . QualifiedIdentifier '(' ')'
   99           | '@' . QualifiedIdentifier '(' AnnotationElement ')'

    Identifier  shift, and go to state 35

    QualifiedIdentifier  go to state 43


State 51

   96 Annotations: Annotations Annotation .

    $default  reduce using rule 96 (Annotations)


State 52

   29 ClassOrInterfaceDeclaration: ModifierList BOGUS . InterfaceDeclaration
   33 InterfaceDeclaration: . NormalInterfaceDeclaration
   34                     | . AnnotationTypeDeclaration
   45 NormalInterfaceDeclaration: . "interface" Identifier InterfaceBody
   46                           | . "interface" Identifier "extends" TypeList InterfaceBody
   47                           | . "interface" Identifier TypeParameters InterfaceBody
   48                           | . "interface" Identifier TypeParameters "extends" TypeList InterfaceBody
   49 AnnotationTypeDeclaration: . '@' "interface" Identifier AnnotationTypeBody
   83 Modifier: . Annotation
   84         | . "public"
   85         | . "protected"
   86         | . "private"
   87         | . "static"
   88         | . "abstract"
   89         | . "final"
   90         | . "native"
   91         | . "synchronized"
   92         | . "transient"
   93         | . "volatile"
   94         | . "strictfp"
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  456 ModifierList: ModifierList BOGUS . Modifier

    "static"        shift, and go to state 4
    "interface"     shift, and go to state 7
    '@'             shift, and go to state 8
    "public"        shift, and go to state 9
    "protected"     shift, and go to state 10
    "private"       shift, and go to state 11
    "abstract"      shift, and go to state 12
    "final"         shift, and go to state 13
    "native"        shift, and go to state 14
    "synchronized"  shift, and go to state 15
    "transient"     shift, and go to state 16
    "volatile"      shift, and go to state 17
    "strictfp"      shift, and go to state 18

    InterfaceDeclaration        go to state 75
    NormalInterfaceDeclaration  go to state 29
    AnnotationTypeDeclaration   go to state 30
    Modifier                    go to state 76
    Annotation                  go to state 47


State 53

   30 ClassOrInterfaceDeclaration: ModifierList ClassDeclaration .

    $default  reduce using rule 30 (ClassOrInterfaceDeclaration)


State 54

    2 QualifiedIdentifier: QualifiedIdentifier '.' . Identifier

    Identifier  shift, and go to state 77


State 55

   10 CompilationUnit: "package" QualifiedIdentifier ';' .  ["end of file"]
   12                | "package" QualifiedIdentifier ';' . ImportDeclarationList
   14                | "package" QualifiedIdentifier ';' . ImportDeclarationList TypeDeclarationList
   16                | "package" QualifiedIdentifier ';' . TypeDeclarationList
   17 ImportDeclarationList: . ImportDeclaration
   18                      | . ImportDeclarationList ImportDeclaration
   19 TypeDeclarationList: . TypeDeclaration
   20                    | . TypeDeclarationList TypeDeclaration
   21 ImportDeclaration: . "import" "static" QualifiedIdentifier '.' '*' ';'
   22                  | . "import" "static" QualifiedIdentifier ';'
   23                  | . "import" QualifiedIdentifier '.' '*' ';'
   24                  | . "import" QualifiedIdentifier ';'
   25 TypeDeclaration: . ClassOrInterfaceDeclaration
   26                | . ';'
   27 ClassOrInterfaceDeclaration: . InterfaceDeclaration
   28                            | . ClassDeclaration
   29                            | . ModifierList BOGUS InterfaceDeclaration
   30                            | . ModifierList ClassDeclaration
   31 ClassDeclaration: . NormalClassDeclaration
   32                 | . EnumDeclaration
   33 InterfaceDeclaration: . NormalInterfaceDeclaration
   34                     | . AnnotationTypeDeclaration
   35 NormalClassDeclaration: . "class" Identifier ClassBody
   36                       | . "class" Identifier "implements" TypeList ClassBody
   37                       | . "class" Identifier "extends" Type ClassBody
   38                       | . "class" Identifier "extends" Type "implements" TypeList ClassBody
   39                       | . "class" Identifier TypeParameters ClassBody
   40                       | . "class" Identifier TypeParameters "implements" TypeList ClassBody
   41                       | . "class" Identifier TypeParameters "extends" Type ClassBody
   42                       | . "class" Identifier TypeParameters "extends" Type "implements" TypeList ClassBody
   43 EnumDeclaration: . "enum" Identifier EnumBody
   44                | . "enum" Identifier "implements" TypeList EnumBody
   45 NormalInterfaceDeclaration: . "interface" Identifier InterfaceBody
   46                           | . "interface" Identifier "extends" TypeList InterfaceBody
   47                           | . "interface" Identifier TypeParameters InterfaceBody
   48                           | . "interface" Identifier TypeParameters "extends" TypeList InterfaceBody
   49 AnnotationTypeDeclaration: . '@' "interface" Identifier AnnotationTypeBody
   83 Modifier: . Annotation
   84         | . "public"
   85         | . "protected"
   86         | . "private"
   87         | . "static"
   88         | . "abstract"
   89         | . "final"
   90         | . "native"
   91         | . "synchronized"
   92         | . "transient"
   93         | . "volatile"
   94         | . "strictfp"
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  455 ModifierList: . Modifier
  456             | . ModifierList BOGUS Modifier

    ';'             shift, and go to state 2
    "import"        shift, and go to state 3
    "static"        shift, and go to state 4
    "class"         shift, and go to state 5
    "enum"          shift, and go to state 6
    "interface"     shift, and go to state 7
    '@'             shift, and go to state 8
    "public"        shift, and go to state 9
    "protected"     shift, and go to state 10
    "private"       shift, and go to state 11
    "abstract"      shift, and go to state 12
    "final"         shift, and go to state 13
    "native"        shift, and go to state 14
    "synchronized"  shift, and go to state 15
    "transient"     shift, and go to state 16
    "volatile"      shift, and go to state 17
    "strictfp"      shift, and go to state 18

    $default  reduce using rule 10 (CompilationUnit)

    ImportDeclarationList        go to state 78
    TypeDeclarationList          go to state 79
    ImportDeclaration            go to state 22
    TypeDeclaration              go to state 23
    ClassOrInterfaceDeclaration  go to state 24
    ClassDeclaration             go to state 25
    InterfaceDeclaration         go to state 26
    NormalClassDeclaration       go to state 27
    EnumDeclaration              go to state 28
    NormalInterfaceDeclaration   go to state 29
    AnnotationTypeDeclaration    go to state 30
    Modifier                     go to state 31
    Annotation                   go to state 47
    ModifierList                 go to state 34


State 56

    2 QualifiedIdentifier: QualifiedIdentifier . '.' Identifier
   21 ImportDeclaration: "import" "static" QualifiedIdentifier . '.' '*' ';'
   22                  | "import" "static" QualifiedIdentifier . ';'

    '.'  shift, and go to state 80
    ';'  shift, and go to state 81


State 57

    2 QualifiedIdentifier: QualifiedIdentifier '.' . Identifier
   23 ImportDeclaration: "import" QualifiedIdentifier '.' . '*' ';'

    Identifier  shift, and go to state 77
    '*'         shift, and go to state 82


State 58

   24 ImportDeclaration: "import" QualifiedIdentifier ';' .

    $default  reduce using rule 24 (ImportDeclaration)


State 59

   36 NormalClassDeclaration: "class" Identifier "implements" . TypeList ClassBody
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   72 TypeList: . ReferenceType
   73         | . TypeList ',' ReferenceType

    Identifier  shift, and go to state 83

    ReferenceType  go to state 84
    TypeList       go to state 85


State 60

   37 NormalClassDeclaration: "class" Identifier "extends" . Type ClassBody
   38                       | "class" Identifier "extends" . Type "implements" TypeList ClassBody
   50 Type: . BasicType
   51     | . BasicType ArrayDesignatorList
   52     | . ReferenceType
   53     | . ReferenceType ArrayDesignatorList
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments

    Identifier  shift, and go to state 83
    "byte"      shift, and go to state 86
    "short"     shift, and go to state 87
    "char"      shift, and go to state 88
    "int"       shift, and go to state 89
    "long"      shift, and go to state 90
    "float"     shift, and go to state 91
    "double"    shift, and go to state 92
    "boolean"   shift, and go to state 93

    Type           go to state 94
    BasicType      go to state 95
    ReferenceType  go to state 96


State 61

   78 TypeParameters: '<' . TypeParameterList '>'
   79 TypeParameter: . Identifier
   80              | . Identifier "extends" Bound
  453 TypeParameterList: . TypeParameter
  454                  | . TypeParameterList ',' TypeParameter

    Identifier  shift, and go to state 97

    TypeParameter      go to state 98
    TypeParameterList  go to state 99


State 62

   31 ClassDeclaration: . NormalClassDeclaration
   32                 | . EnumDeclaration
   33 InterfaceDeclaration: . NormalInterfaceDeclaration
   34                     | . AnnotationTypeDeclaration
   35 NormalClassDeclaration: . "class" Identifier ClassBody
   36                       | . "class" Identifier "implements" TypeList ClassBody
   37                       | . "class" Identifier "extends" Type ClassBody
   38                       | . "class" Identifier "extends" Type "implements" TypeList ClassBody
   39                       | . "class" Identifier TypeParameters ClassBody
   40                       | . "class" Identifier TypeParameters "implements" TypeList ClassBody
   41                       | . "class" Identifier TypeParameters "extends" Type ClassBody
   42                       | . "class" Identifier TypeParameters "extends" Type "implements" TypeList ClassBody
   43 EnumDeclaration: . "enum" Identifier EnumBody
   44                | . "enum" Identifier "implements" TypeList EnumBody
   45 NormalInterfaceDeclaration: . "interface" Identifier InterfaceBody
   46                           | . "interface" Identifier "extends" TypeList InterfaceBody
   47                           | . "interface" Identifier TypeParameters InterfaceBody
   48                           | . "interface" Identifier TypeParameters "extends" TypeList InterfaceBody
   49 AnnotationTypeDeclaration: . '@' "interface" Identifier AnnotationTypeBody
   50 Type: . BasicType
   51     | . BasicType ArrayDesignatorList
   52     | . ReferenceType
   53     | . ReferenceType ArrayDesignatorList
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   78 TypeParameters: . '<' TypeParameterList '>'
   83 Modifier: . Annotation
   84         | . "public"
   85         | . "protected"
   86         | . "private"
   87         | . "static"
   88         | . "abstract"
   89         | . "final"
   90         | . "native"
   91         | . "synchronized"
   92         | . "transient"
   93         | . "volatile"
   94         | . "strictfp"
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  109 ClassBody: '{' . '}'
  110          | '{' . ClassBodyDeclarationList '}'
  111 ClassBodyDeclaration: . ';'
  112                     | . MemberDecl
  113                     | . ModifierList MemberDecl
  114                     | . Block
  115                     | . "static" Block
  116 MemberDecl: . MethodOrFieldDecl
  117           | . "void" Identifier VoidMethodDeclaratorRest
  118           | . Identifier ConstructorDeclaratorRest
  119           | . GenericMethodOrConstructorDecl
  120           | . ClassDeclaration
  121           | . InterfaceDeclaration
  122 MethodOrFieldDecl: . Type Identifier MethodOrFieldRest
  143 GenericMethodOrConstructorDecl: . TypeParameters GenericMethodOrConstructorRest
  200 Block: . '{' BlockStatements '}'
  435 ClassBodyDeclarationList: . ClassBodyDeclaration
  436                         | . ClassBodyDeclarationList ClassBodyDeclaration
  455 ModifierList: . Modifier
  456             | . ModifierList BOGUS Modifier

    Identifier      shift, and go to state 100
    ';'             shift, and go to state 101
    "static"        shift, and go to state 102
    "class"         shift, and go to state 5
    "enum"          shift, and go to state 6
    "interface"     shift, and go to state 7
    '@'             shift, and go to state 8
    "byte"          shift, and go to state 86
    "short"         shift, and go to state 87
    "char"          shift, and go to state 88
    "int"           shift, and go to state 89
    "long"          shift, and go to state 90
    "float"         shift, and go to state 91
    "double"        shift, and go to state 92
    "boolean"       shift, and go to state 93
    '<'             shift, and go to state 61
    "public"        shift, and go to state 9
    "protected"     shift, and go to state 10
    "private"       shift, and go to state 11
    "abstract"      shift, and go to state 12
    "final"         shift, and go to state 13
    "native"        shift, and go to state 14
    "synchronized"  shift, and go to state 15
    "transient"     shift, and go to state 16
    "volatile"      shift, and go to state 17
    "strictfp"      shift, and go to state 18
    '{'             shift, and go to state 103
    '}'             shift, and go to state 104
    "void"          shift, and go to state 105

    ClassDeclaration                go to state 106
    InterfaceDeclaration            go to state 107
    NormalClassDeclaration          go to state 27
    EnumDeclaration                 go to state 28
    NormalInterfaceDeclaration      go to state 29
    AnnotationTypeDeclaration       go to state 30
    Type                            go to state 108
    BasicType                       go to state 95
    ReferenceType                   go to state 96
    TypeParameters                  go to state 109
    Modifier                        go to state 31
    Annotation                      go to state 47
    ClassBodyDeclaration            go to state 110
    MemberDecl                      go to state 111
    MethodOrFieldDecl               go to state 112
    GenericMethodOrConstructorDecl  go to state 113
    Block                           go to state 114
    ClassBodyDeclarationList        go to state 115
    ModifierList                    go to state 116


State 63

   39 NormalClassDeclaration: "class" Identifier TypeParameters . ClassBody
   40                       | "class" Identifier TypeParameters . "implements" TypeList ClassBody
   41                       | "class" Identifier TypeParameters . "extends" Type ClassBody
   42                       | "class" Identifier TypeParameters . "extends" Type "implements" TypeList ClassBody
  109 ClassBody: . '{' '}'
  110          | . '{' ClassBodyDeclarationList '}'

    "implements"  shift, and go to state 117
    "extends"     shift, and go to state 118
    '{'           shift, and go to state 62

    ClassBody  go to state 119


State 64

   35 NormalClassDeclaration: "class" Identifier ClassBody .

    $default  reduce using rule 35 (NormalClassDeclaration)


State 65

   44 EnumDeclaration: "enum" Identifier "implements" . TypeList EnumBody
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   72 TypeList: . ReferenceType
   73         | . TypeList ',' ReferenceType

    Identifier  shift, and go to state 83

    ReferenceType  go to state 84
    TypeList       go to state 120


State 66

   95 Annotations: . Annotation
   96            | . Annotations Annotation
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  398 EnumBody: '{' . '}'
  399         | '{' . EnumBodyDeclarations '}'
  400         | '{' . ',' '}'
  401         | '{' . ',' EnumBodyDeclarations '}'
  402         | '{' . EnumConstants '}'
  403         | '{' . EnumConstants EnumBodyDeclarations '}'
  404         | '{' . EnumConstants ',' '}'
  405         | '{' . EnumConstants ',' EnumBodyDeclarations '}'
  406 EnumConstants: . EnumConstant
  407              | . EnumConstants ',' EnumConstant
  408 EnumConstant: . Identifier
  409             | . Identifier ClassBody
  410             | . Identifier Arguments
  411             | . Identifier Arguments ClassBody
  412             | . Annotations Identifier
  413             | . Annotations Identifier ClassBody
  414             | . Annotations Identifier Arguments
  415             | . Annotations Identifier Arguments ClassBody
  416 EnumBodyDeclarations: . ';'
  417                     | . ';' ClassBodyDeclarationList

    Identifier  shift, and go to state 121
    ','         shift, and go to state 122
    ';'         shift, and go to state 123
    '@'         shift, and go to state 50
    '}'         shift, and go to state 124

    Annotations           go to state 125
    Annotation            go to state 126
    EnumConstants         go to state 127
    EnumConstant          go to state 128
    EnumBodyDeclarations  go to state 129


State 67

   43 EnumDeclaration: "enum" Identifier EnumBody .

    $default  reduce using rule 43 (EnumDeclaration)


State 68

   46 NormalInterfaceDeclaration: "interface" Identifier "extends" . TypeList InterfaceBody
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   72 TypeList: . ReferenceType
   73         | . TypeList ',' ReferenceType

    Identifier  shift, and go to state 83

    ReferenceType  go to state 84
    TypeList       go to state 130


State 69

   31 ClassDeclaration: . NormalClassDeclaration
   32                 | . EnumDeclaration
   33 InterfaceDeclaration: . NormalInterfaceDeclaration
   34                     | . AnnotationTypeDeclaration
   35 NormalClassDeclaration: . "class" Identifier ClassBody
   36                       | . "class" Identifier "implements" TypeList ClassBody
   37                       | . "class" Identifier "extends" Type ClassBody
   38                       | . "class" Identifier "extends" Type "implements" TypeList ClassBody
   39                       | . "class" Identifier TypeParameters ClassBody
   40                       | . "class" Identifier TypeParameters "implements" TypeList ClassBody
   41                       | . "class" Identifier TypeParameters "extends" Type ClassBody
   42                       | . "class" Identifier TypeParameters "extends" Type "implements" TypeList ClassBody
   43 EnumDeclaration: . "enum" Identifier EnumBody
   44                | . "enum" Identifier "implements" TypeList EnumBody
   45 NormalInterfaceDeclaration: . "interface" Identifier InterfaceBody
   46                           | . "interface" Identifier "extends" TypeList InterfaceBody
   47                           | . "interface" Identifier TypeParameters InterfaceBody
   48                           | . "interface" Identifier TypeParameters "extends" TypeList InterfaceBody
   49 AnnotationTypeDeclaration: . '@' "interface" Identifier AnnotationTypeBody
   50 Type: . BasicType
   51     | . BasicType ArrayDesignatorList
   52     | . ReferenceType
   53     | . ReferenceType ArrayDesignatorList
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   78 TypeParameters: . '<' TypeParameterList '>'
   83 Modifier: . Annotation
   84         | . "public"
   85         | . "protected"
   86         | . "private"
   87         | . "static"
   88         | . "abstract"
   89         | . "final"
   90         | . "native"
   91         | . "synchronized"
   92         | . "transient"
   93         | . "volatile"
   94         | . "strictfp"
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  147 InterfaceBody: '{' . '}'
  148              | '{' . InterfaceBodyDeclarationList '}'
  149 InterfaceBodyDeclaration: . ';'
  150                         | . InterfaceMemberDecl
  151                         | . ModifierList InterfaceMemberDecl
  152 InterfaceMemberDecl: . InterfaceMethodOrFieldDecl
  153                    | . "void" Identifier VoidInterfaceMethodDeclaratorRest
  154                    | . InterfaceGenericMethodDecl
  155                    | . ClassDeclaration
  156                    | . InterfaceDeclaration
  157 InterfaceMethodOrFieldDecl: . Type Identifier InterfaceMethodOrFieldRest
  173 InterfaceGenericMethodDecl: . TypeParameters "void" Identifier VoidInterfaceMethodDeclaratorRest
  174                           | . TypeParameters Type Identifier InterfaceMethodDeclaratorRest
  447 InterfaceBodyDeclarationList: . InterfaceBodyDeclaration
  448                             | . InterfaceBodyDeclarationList InterfaceBodyDeclaration
  455 ModifierList: . Modifier
  456             | . ModifierList BOGUS Modifier

    Identifier      shift, and go to state 83
    ';'             shift, and go to state 131
    "static"        shift, and go to state 4
    "class"         shift, and go to state 5
    "enum"          shift, and go to state 6
    "interface"     shift, and go to state 7
    '@'             shift, and go to state 8
    "byte"          shift, and go to state 86
    "short"         shift, and go to state 87
    "char"          shift, and go to state 88
    "int"           shift, and go to state 89
    "long"          shift, and go to state 90
    "float"         shift, and go to state 91
    "double"        shift, and go to state 92
    "boolean"       shift, and go to state 93
    '<'             shift, and go to state 61
    "public"        shift, and go to state 9
    "protected"     shift, and go to state 10
    "private"       shift, and go to state 11
    "abstract"      shift, and go to state 12
    "final"         shift, and go to state 13
    "native"        shift, and go to state 14
    "synchronized"  shift, and go to state 15
    "transient"     shift, and go to state 16
    "volatile"      shift, and go to state 17
    "strictfp"      shift, and go to state 18
    '}'             shift, and go to state 132
    "void"          shift, and go to state 133

    ClassDeclaration              go to state 134
    InterfaceDeclaration          go to state 135
    NormalClassDeclaration        go to state 27
    EnumDeclaration               go to state 28
    NormalInterfaceDeclaration    go to state 29
    AnnotationTypeDeclaration     go to state 30
    Type                          go to state 136
    BasicType                     go to state 95
    ReferenceType                 go to state 96
    TypeParameters                go to state 137
    Modifier                      go to state 31
    Annotation                    go to state 47
    InterfaceBodyDeclaration      go to state 138
    InterfaceMemberDecl           go to state 139
    InterfaceMethodOrFieldDecl    go to state 140
    InterfaceGenericMethodDecl    go to state 141
    InterfaceBodyDeclarationList  go to state 142
    ModifierList                  go to state 143


State 70

   47 NormalInterfaceDeclaration: "interface" Identifier TypeParameters . InterfaceBody
   48                           | "interface" Identifier TypeParameters . "extends" TypeList InterfaceBody
  147 InterfaceBody: . '{' '}'
  148              | . '{' InterfaceBodyDeclarationList '}'

    "extends"  shift, and go to state 144
    '{'        shift, and go to state 69

    InterfaceBody  go to state 145


State 71

   45 NormalInterfaceDeclaration: "interface" Identifier InterfaceBody .

    $default  reduce using rule 45 (NormalInterfaceDeclaration)


State 72

   49 AnnotationTypeDeclaration: '@' "interface" Identifier . AnnotationTypeBody
  418 AnnotationTypeBody: . '{' '}'
  419                   | . '{' AnnotationTypeElementDeclarations '}'

    '{'  shift, and go to state 146

    AnnotationTypeBody  go to state 147


State 73

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   98           | '@' QualifiedIdentifier '(' . ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
   99           | '@' QualifiedIdentifier '(' . AnnotationElement ')'
  100 AnnotationElement: . ElementValuePairs
  101                  | . ElementValue
  102 ElementValuePairs: . ElementValuePair
  103                  | . ElementValuePairs ',' ElementValuePair
  104 ElementValuePair: . Identifier '=' ElementValue
  105 ElementValue: . Annotation
  106             | . Expression1
  107             | . ElementValueArrayInitializer
  108 ElementValueArrayInitializer: . '{' ElementValuesList '}'
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 154
    '@'                   shift, and go to state 50
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    ')'                   shift, and go to state 158
    '{'                   shift, and go to state 159
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier           go to state 169
    BasicType                     go to state 170
    NonWildcardTypeArguments      go to state 171
    Annotation                    go to state 172
    AnnotationElement             go to state 173
    ElementValuePairs             go to state 174
    ElementValuePair              go to state 175
    ElementValue                  go to state 176
    ElementValueArrayInitializer  go to state 177
    Expression1                   go to state 178
    Expression2                   go to state 179
    Expression3                   go to state 180
    PrefixOp                      go to state 181
    Primary                       go to state 182
    Literal                       go to state 183
    ParExpression                 go to state 184


State 74

    2 QualifiedIdentifier: QualifiedIdentifier . '.' Identifier
    9 CompilationUnit: Annotations "package" QualifiedIdentifier . ';'
   11                | Annotations "package" QualifiedIdentifier . ';' ImportDeclarationList
   13                | Annotations "package" QualifiedIdentifier . ';' ImportDeclarationList TypeDeclarationList
   15                | Annotations "package" QualifiedIdentifier . ';' TypeDeclarationList

    '.'  shift, and go to state 54
    ';'  shift, and go to state 185


State 75

   29 ClassOrInterfaceDeclaration: ModifierList BOGUS InterfaceDeclaration .

    $default  reduce using rule 29 (ClassOrInterfaceDeclaration)


State 76

  456 ModifierList: ModifierList BOGUS Modifier .

    $default  reduce using rule 456 (ModifierList)


State 77

    2 QualifiedIdentifier: QualifiedIdentifier '.' Identifier .

    $default  reduce using rule 2 (QualifiedIdentifier)


State 78

   12 CompilationUnit: "package" QualifiedIdentifier ';' ImportDeclarationList .  ["end of file"]
   14                | "package" QualifiedIdentifier ';' ImportDeclarationList . TypeDeclarationList
   18 ImportDeclarationList: ImportDeclarationList . ImportDeclaration
   19 TypeDeclarationList: . TypeDeclaration
   20                    | . TypeDeclarationList TypeDeclaration
   21 ImportDeclaration: . "import" "static" QualifiedIdentifier '.' '*' ';'
   22                  | . "import" "static" QualifiedIdentifier ';'
   23                  | . "import" QualifiedIdentifier '.' '*' ';'
   24                  | . "import" QualifiedIdentifier ';'
   25 TypeDeclaration: . ClassOrInterfaceDeclaration
   26                | . ';'
   27 ClassOrInterfaceDeclaration: . InterfaceDeclaration
   28                            | . ClassDeclaration
   29                            | . ModifierList BOGUS InterfaceDeclaration
   30                            | . ModifierList ClassDeclaration
   31 ClassDeclaration: . NormalClassDeclaration
   32                 | . EnumDeclaration
   33 InterfaceDeclaration: . NormalInterfaceDeclaration
   34                     | . AnnotationTypeDeclaration
   35 NormalClassDeclaration: . "class" Identifier ClassBody
   36                       | . "class" Identifier "implements" TypeList ClassBody
   37                       | . "class" Identifier "extends" Type ClassBody
   38                       | . "class" Identifier "extends" Type "implements" TypeList ClassBody
   39                       | . "class" Identifier TypeParameters ClassBody
   40                       | . "class" Identifier TypeParameters "implements" TypeList ClassBody
   41                       | . "class" Identifier TypeParameters "extends" Type ClassBody
   42                       | . "class" Identifier TypeParameters "extends" Type "implements" TypeList ClassBody
   43 EnumDeclaration: . "enum" Identifier EnumBody
   44                | . "enum" Identifier "implements" TypeList EnumBody
   45 NormalInterfaceDeclaration: . "interface" Identifier InterfaceBody
   46                           | . "interface" Identifier "extends" TypeList InterfaceBody
   47                           | . "interface" Identifier TypeParameters InterfaceBody
   48                           | . "interface" Identifier TypeParameters "extends" TypeList InterfaceBody
   49 AnnotationTypeDeclaration: . '@' "interface" Identifier AnnotationTypeBody
   83 Modifier: . Annotation
   84         | . "public"
   85         | . "protected"
   86         | . "private"
   87         | . "static"
   88         | . "abstract"
   89         | . "final"
   90         | . "native"
   91         | . "synchronized"
   92         | . "transient"
   93         | . "volatile"
   94         | . "strictfp"
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  455 ModifierList: . Modifier
  456             | . ModifierList BOGUS Modifier

    ';'             shift, and go to state 2
    "import"        shift, and go to state 3
    "static"        shift, and go to state 4
    "class"         shift, and go to state 5
    "enum"          shift, and go to state 6
    "interface"     shift, and go to state 7
    '@'             shift, and go to state 8
    "public"        shift, and go to state 9
    "protected"     shift, and go to state 10
    "private"       shift, and go to state 11
    "abstract"      shift, and go to state 12
    "final"         shift, and go to state 13
    "native"        shift, and go to state 14
    "synchronized"  shift, and go to state 15
    "transient"     shift, and go to state 16
    "volatile"      shift, and go to state 17
    "strictfp"      shift, and go to state 18

    $default  reduce using rule 12 (CompilationUnit)

    TypeDeclarationList          go to state 186
    ImportDeclaration            go to state 46
    TypeDeclaration              go to state 23
    ClassOrInterfaceDeclaration  go to state 24
    ClassDeclaration             go to state 25
    InterfaceDeclaration         go to state 26
    NormalClassDeclaration       go to state 27
    EnumDeclaration              go to state 28
    NormalInterfaceDeclaration   go to state 29
    AnnotationTypeDeclaration    go to state 30
    Modifier                     go to state 31
    Annotation                   go to state 47
    ModifierList                 go to state 34


State 79

   16 CompilationUnit: "package" QualifiedIdentifier ';' TypeDeclarationList .  ["end of file"]
   20 TypeDeclarationList: TypeDeclarationList . TypeDeclaration
   25 TypeDeclaration: . ClassOrInterfaceDeclaration
   26                | . ';'
   27 ClassOrInterfaceDeclaration: . InterfaceDeclaration
   28                            | . ClassDeclaration
   29                            | . ModifierList BOGUS InterfaceDeclaration
   30                            | . ModifierList ClassDeclaration
   31 ClassDeclaration: . NormalClassDeclaration
   32                 | . EnumDeclaration
   33 InterfaceDeclaration: . NormalInterfaceDeclaration
   34                     | . AnnotationTypeDeclaration
   35 NormalClassDeclaration: . "class" Identifier ClassBody
   36                       | . "class" Identifier "implements" TypeList ClassBody
   37                       | . "class" Identifier "extends" Type ClassBody
   38                       | . "class" Identifier "extends" Type "implements" TypeList ClassBody
   39                       | . "class" Identifier TypeParameters ClassBody
   40                       | . "class" Identifier TypeParameters "implements" TypeList ClassBody
   41                       | . "class" Identifier TypeParameters "extends" Type ClassBody
   42                       | . "class" Identifier TypeParameters "extends" Type "implements" TypeList ClassBody
   43 EnumDeclaration: . "enum" Identifier EnumBody
   44                | . "enum" Identifier "implements" TypeList EnumBody
   45 NormalInterfaceDeclaration: . "interface" Identifier InterfaceBody
   46                           | . "interface" Identifier "extends" TypeList InterfaceBody
   47                           | . "interface" Identifier TypeParameters InterfaceBody
   48                           | . "interface" Identifier TypeParameters "extends" TypeList InterfaceBody
   49 AnnotationTypeDeclaration: . '@' "interface" Identifier AnnotationTypeBody
   83 Modifier: . Annotation
   84         | . "public"
   85         | . "protected"
   86         | . "private"
   87         | . "static"
   88         | . "abstract"
   89         | . "final"
   90         | . "native"
   91         | . "synchronized"
   92         | . "transient"
   93         | . "volatile"
   94         | . "strictfp"
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  455 ModifierList: . Modifier
  456             | . ModifierList BOGUS Modifier

    ';'             shift, and go to state 2
    "static"        shift, and go to state 4
    "class"         shift, and go to state 5
    "enum"          shift, and go to state 6
    "interface"     shift, and go to state 7
    '@'             shift, and go to state 8
    "public"        shift, and go to state 9
    "protected"     shift, and go to state 10
    "private"       shift, and go to state 11
    "abstract"      shift, and go to state 12
    "final"         shift, and go to state 13
    "native"        shift, and go to state 14
    "synchronized"  shift, and go to state 15
    "transient"     shift, and go to state 16
    "volatile"      shift, and go to state 17
    "strictfp"      shift, and go to state 18

    $default  reduce using rule 16 (CompilationUnit)

    TypeDeclaration              go to state 48
    ClassOrInterfaceDeclaration  go to state 24
    ClassDeclaration             go to state 25
    InterfaceDeclaration         go to state 26
    NormalClassDeclaration       go to state 27
    EnumDeclaration              go to state 28
    NormalInterfaceDeclaration   go to state 29
    AnnotationTypeDeclaration    go to state 30
    Modifier                     go to state 31
    Annotation                   go to state 47
    ModifierList                 go to state 34


State 80

    2 QualifiedIdentifier: QualifiedIdentifier '.' . Identifier
   21 ImportDeclaration: "import" "static" QualifiedIdentifier '.' . '*' ';'

    Identifier  shift, and go to state 77
    '*'         shift, and go to state 187


State 81

   22 ImportDeclaration: "import" "static" QualifiedIdentifier ';' .

    $default  reduce using rule 22 (ImportDeclaration)


State 82

   23 ImportDeclaration: "import" QualifiedIdentifier '.' '*' . ';'

    ';'  shift, and go to state 188


State 83

   62 ReferenceType: Identifier .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, '.', ',', ';', "implements", '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', '>', '?', "super", '&', '(', ')', '=', '{', '}', "void", "...", ':', "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", '+', '-', "++", "--", '!', '~', "this", "new", '[', ']']
   63              | Identifier . TypeArguments
   66 TypeArguments: . '<' TypeArgumentList '>'

    '<'  shift, and go to state 189

    '<'       [reduce using rule 62 (ReferenceType)]
    $default  reduce using rule 62 (ReferenceType)

    TypeArguments  go to state 190


State 84

   64 ReferenceType: ReferenceType . '.' Identifier
   65              | ReferenceType . '.' Identifier TypeArguments
   72 TypeList: ReferenceType .  [',', '>', '{']

    '.'  shift, and go to state 191

    $default  reduce using rule 72 (TypeList)


State 85

   36 NormalClassDeclaration: "class" Identifier "implements" TypeList . ClassBody
   73 TypeList: TypeList . ',' ReferenceType
  109 ClassBody: . '{' '}'
  110          | . '{' ClassBodyDeclarationList '}'

    ','  shift, and go to state 192
    '{'  shift, and go to state 62

    ClassBody  go to state 193


State 86

   54 BasicType: "byte" .

    $default  reduce using rule 54 (BasicType)


State 87

   55 BasicType: "short" .

    $default  reduce using rule 55 (BasicType)


State 88

   56 BasicType: "char" .

    $default  reduce using rule 56 (BasicType)


State 89

   57 BasicType: "int" .

    $default  reduce using rule 57 (BasicType)


State 90

   58 BasicType: "long" .

    $default  reduce using rule 58 (BasicType)


State 91

   59 BasicType: "float" .

    $default  reduce using rule 59 (BasicType)


State 92

   60 BasicType: "double" .

    $default  reduce using rule 60 (BasicType)


State 93

   61 BasicType: "boolean" .

    $default  reduce using rule 61 (BasicType)


State 94

   37 NormalClassDeclaration: "class" Identifier "extends" Type . ClassBody
   38                       | "class" Identifier "extends" Type . "implements" TypeList ClassBody
  109 ClassBody: . '{' '}'
  110          | . '{' ClassBodyDeclarationList '}'

    "implements"  shift, and go to state 194
    '{'           shift, and go to state 62

    ClassBody  go to state 195


State 95

   50 Type: BasicType .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, ',', ';', "implements", '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', '?', "super", '(', ')', '=', '{', '}', "void", "...", ':', "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", '+', '-', "++", "--", '!', '~', "this", "new", ']']
   51     | BasicType . ArrayDesignatorList
  467 ArrayDesignatorList: . '[' ']'
  468                    | . ArrayDesignatorList '[' ']'

    '['  shift, and go to state 196

    $default  reduce using rule 50 (Type)

    ArrayDesignatorList  go to state 197


State 96

   52 Type: ReferenceType .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, ',', ';', "implements", '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', '?', "super", '(', ')', '=', '{', '}', "void", "...", ':', "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", '+', '-', "++", "--", '!', '~', "this", "new", ']']
   53     | ReferenceType . ArrayDesignatorList
   64 ReferenceType: ReferenceType . '.' Identifier
   65              | ReferenceType . '.' Identifier TypeArguments
  467 ArrayDesignatorList: . '[' ']'
  468                    | . ArrayDesignatorList '[' ']'

    '.'  shift, and go to state 191
    '['  shift, and go to state 196

    $default  reduce using rule 52 (Type)

    ArrayDesignatorList  go to state 198


State 97

   79 TypeParameter: Identifier .  [',', '>']
   80              | Identifier . "extends" Bound

    "extends"  shift, and go to state 199

    $default  reduce using rule 79 (TypeParameter)


State 98

  453 TypeParameterList: TypeParameter .

    $default  reduce using rule 453 (TypeParameterList)


State 99

   78 TypeParameters: '<' TypeParameterList . '>'
  454 TypeParameterList: TypeParameterList . ',' TypeParameter

    ','  shift, and go to state 200
    '>'  shift, and go to state 201


State 100

   62 ReferenceType: Identifier .  [Identifier, '.', '[']
   63              | Identifier . TypeArguments
   66 TypeArguments: . '<' TypeArgumentList '>'
  118 MemberDecl: Identifier . ConstructorDeclaratorRest
  139 ConstructorDeclaratorRest: . FormalParameters Block
  140                          | . FormalParameters "throws" QualifiedIdentifierList Block
  141                          | . FormalParameters API_ELISION ';'
  142                          | . FormalParameters "throws" QualifiedIdentifierList API_ELISION ';'
  175 FormalParameters: . '(' ')'
  176                 | . '(' FormalParameterDecls ')'

    '<'  shift, and go to state 189
    '('  shift, and go to state 202

    $default  reduce using rule 62 (ReferenceType)

    TypeArguments              go to state 190
    ConstructorDeclaratorRest  go to state 203
    FormalParameters           go to state 204


State 101

  111 ClassBodyDeclaration: ';' .

    $default  reduce using rule 111 (ClassBodyDeclaration)


State 102

   87 Modifier: "static" .  [Identifier, BOGUS, "class", "enum", "interface", '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', "void"]
  115 ClassBodyDeclaration: "static" . Block
  200 Block: . '{' BlockStatements '}'

    '{'  shift, and go to state 103

    $default  reduce using rule 87 (Modifier)

    Block  go to state 205


State 103

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   27 ClassOrInterfaceDeclaration: . InterfaceDeclaration
   28                            | . ClassDeclaration
   29                            | . ModifierList BOGUS InterfaceDeclaration
   30                            | . ModifierList ClassDeclaration
   31 ClassDeclaration: . NormalClassDeclaration
   32                 | . EnumDeclaration
   33 InterfaceDeclaration: . NormalInterfaceDeclaration
   34                     | . AnnotationTypeDeclaration
   35 NormalClassDeclaration: . "class" Identifier ClassBody
   36                       | . "class" Identifier "implements" TypeList ClassBody
   37                       | . "class" Identifier "extends" Type ClassBody
   38                       | . "class" Identifier "extends" Type "implements" TypeList ClassBody
   39                       | . "class" Identifier TypeParameters ClassBody
   40                       | . "class" Identifier TypeParameters "implements" TypeList ClassBody
   41                       | . "class" Identifier TypeParameters "extends" Type ClassBody
   42                       | . "class" Identifier TypeParameters "extends" Type "implements" TypeList ClassBody
   43 EnumDeclaration: . "enum" Identifier EnumBody
   44                | . "enum" Identifier "implements" TypeList EnumBody
   45 NormalInterfaceDeclaration: . "interface" Identifier InterfaceBody
   46                           | . "interface" Identifier "extends" TypeList InterfaceBody
   47                           | . "interface" Identifier TypeParameters InterfaceBody
   48                           | . "interface" Identifier TypeParameters "extends" TypeList InterfaceBody
   49 AnnotationTypeDeclaration: . '@' "interface" Identifier AnnotationTypeBody
   50 Type: . BasicType
   51     | . BasicType ArrayDesignatorList
   52     | . ReferenceType
   53     | . ReferenceType ArrayDesignatorList
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   71 NonWildcardTypeArguments: . '<' TypeList '>'
   83 Modifier: . Annotation
   84         | . "public"
   85         | . "protected"
   86         | . "private"
   87         | . "static"
   88         | . "abstract"
   89         | . "final"
   90         | . "native"
   91         | . "synchronized"
   92         | . "transient"
   93         | . "volatile"
   94         | . "strictfp"
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  179 VariableModifier: . "final"
  180                 | . Annotation
  200 Block: . '{' BlockStatements '}'
  200      | '{' . BlockStatements '}'
  201 BlockStatements: . %empty  ['}']
  202                | . BlockStatementList
  203 BlockStatement: . LocalVariableDeclarationStatement
  204               | . ClassOrInterfaceDeclaration
  205               | . Statement
  206               | . Identifier ':' Statement
  207 LocalVariableDeclarationStatement: . Type VariableDeclarators ';'
  208                                  | . VariableModifierList Type VariableDeclarators ';'
  209 Statement: . Block
  210          | . ';'
  211          | . Identifier ':' Statement
  212          | . StatementExpression ';'
  213          | . "if" ParExpression Statement
  214          | . "if" ParExpression Statement "else" Statement
  215          | . "assert" Expression ';'
  216          | . "assert" Expression ':' Expression ';'
  217          | . "switch" ParExpression '{' SwitchBlockStatementGroups '}'
  218          | . "while" ParExpression Statement
  219          | . "do" Statement "while" ParExpression ';'
  220          | . "for" '(' ForControl ')' Statement
  221          | . "break" ';'
  222          | . "break" Identifier ';'
  223          | . "continue" ';'
  224          | . "continue" Identifier ';'
  225          | . "return" ';'
  226          | . "return" Expression ';'
  227          | . "throw" Expression ';'
  228          | . "synchronized" ParExpression Block
  229          | . "try" Block Finally
  230          | . "try" Block Catches
  231          | . "try" Block Catches Finally
  232          | . "try" ResourceSpecification Block
  233          | . "try" ResourceSpecification Block Finally
  234          | . "try" ResourceSpecification Block Catches
  235          | . "try" ResourceSpecification Block Catches Finally
  236 StatementExpression: . Expression
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'
  439 VariableModifierList: . VariableModifier
  440                     | . VariableModifierList VariableModifier
  455 ModifierList: . Modifier
  456             | . ModifierList BOGUS Modifier
  465 BlockStatementList: . BlockStatement
  466                   | . BlockStatementList BlockStatement

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 206
    ';'                   shift, and go to state 207
    "static"              shift, and go to state 4
    "class"               shift, and go to state 5
    "enum"                shift, and go to state 6
    "interface"           shift, and go to state 7
    '@'                   shift, and go to state 8
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    "public"              shift, and go to state 9
    "protected"           shift, and go to state 10
    "private"             shift, and go to state 11
    "abstract"            shift, and go to state 12
    "final"               shift, and go to state 208
    "native"              shift, and go to state 14
    "synchronized"        shift, and go to state 209
    "transient"           shift, and go to state 16
    "volatile"            shift, and go to state 17
    "strictfp"            shift, and go to state 18
    '('                   shift, and go to state 157
    '{'                   shift, and go to state 103
    "void"                shift, and go to state 160
    "if"                  shift, and go to state 210
    "assert"              shift, and go to state 211
    "switch"              shift, and go to state 212
    "while"               shift, and go to state 213
    "do"                  shift, and go to state 214
    "for"                 shift, and go to state 215
    "break"               shift, and go to state 216
    "continue"            shift, and go to state 217
    "return"              shift, and go to state 218
    "throw"               shift, and go to state 219
    "try"                 shift, and go to state 220
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    $default  reduce using rule 201 (BlockStatements)

    QualifiedIdentifier                go to state 169
    ClassOrInterfaceDeclaration        go to state 221
    ClassDeclaration                   go to state 25
    InterfaceDeclaration               go to state 26
    NormalClassDeclaration             go to state 27
    EnumDeclaration                    go to state 28
    NormalInterfaceDeclaration         go to state 29
    AnnotationTypeDeclaration          go to state 30
    Type                               go to state 222
    BasicType                          go to state 223
    ReferenceType                      go to state 96
    NonWildcardTypeArguments           go to state 171
    Modifier                           go to state 31
    Annotation                         go to state 224
    VariableModifier                   go to state 225
    Block                              go to state 226
    BlockStatements                    go to state 227
    BlockStatement                     go to state 228
    LocalVariableDeclarationStatement  go to state 229
    Statement                          go to state 230
    StatementExpression                go to state 231
    Expression                         go to state 232
    Expression1                        go to state 233
    Expression2                        go to state 179
    Expression3                        go to state 180
    PrefixOp                           go to state 181
    Primary                            go to state 182
    Literal                            go to state 183
    ParExpression                      go to state 184
    VariableModifierList               go to state 234
    ModifierList                       go to state 34
    BlockStatementList                 go to state 235


State 104

  109 ClassBody: '{' '}' .

    $default  reduce using rule 109 (ClassBody)


State 105

  117 MemberDecl: "void" . Identifier VoidMethodDeclaratorRest

    Identifier  shift, and go to state 236


State 106

  120 MemberDecl: ClassDeclaration .

    $default  reduce using rule 120 (MemberDecl)


State 107

  121 MemberDecl: InterfaceDeclaration .

    $default  reduce using rule 121 (MemberDecl)


State 108

  122 MethodOrFieldDecl: Type . Identifier MethodOrFieldRest

    Identifier  shift, and go to state 237


State 109

   50 Type: . BasicType
   51     | . BasicType ArrayDesignatorList
   52     | . ReferenceType
   53     | . ReferenceType ArrayDesignatorList
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
  143 GenericMethodOrConstructorDecl: TypeParameters . GenericMethodOrConstructorRest
  144 GenericMethodOrConstructorRest: . "void" Identifier VoidMethodDeclaratorRest
  145                               | . Type Identifier MethodDeclaratorRest
  146                               | . Identifier ConstructorDeclaratorRest

    Identifier  shift, and go to state 238
    "byte"      shift, and go to state 86
    "short"     shift, and go to state 87
    "char"      shift, and go to state 88
    "int"       shift, and go to state 89
    "long"      shift, and go to state 90
    "float"     shift, and go to state 91
    "double"    shift, and go to state 92
    "boolean"   shift, and go to state 93
    "void"      shift, and go to state 239

    Type                            go to state 240
    BasicType                       go to state 95
    ReferenceType                   go to state 96
    GenericMethodOrConstructorRest  go to state 241


State 110

  435 ClassBodyDeclarationList: ClassBodyDeclaration .

    $default  reduce using rule 435 (ClassBodyDeclarationList)


State 111

  112 ClassBodyDeclaration: MemberDecl .

    $default  reduce using rule 112 (ClassBodyDeclaration)


State 112

  116 MemberDecl: MethodOrFieldDecl .

    $default  reduce using rule 116 (MemberDecl)


State 113

  119 MemberDecl: GenericMethodOrConstructorDecl .

    $default  reduce using rule 119 (MemberDecl)


State 114

  114 ClassBodyDeclaration: Block .

    $default  reduce using rule 114 (ClassBodyDeclaration)


State 115

   31 ClassDeclaration: . NormalClassDeclaration
   32                 | . EnumDeclaration
   33 InterfaceDeclaration: . NormalInterfaceDeclaration
   34                     | . AnnotationTypeDeclaration
   35 NormalClassDeclaration: . "class" Identifier ClassBody
   36                       | . "class" Identifier "implements" TypeList ClassBody
   37                       | . "class" Identifier "extends" Type ClassBody
   38                       | . "class" Identifier "extends" Type "implements" TypeList ClassBody
   39                       | . "class" Identifier TypeParameters ClassBody
   40                       | . "class" Identifier TypeParameters "implements" TypeList ClassBody
   41                       | . "class" Identifier TypeParameters "extends" Type ClassBody
   42                       | . "class" Identifier TypeParameters "extends" Type "implements" TypeList ClassBody
   43 EnumDeclaration: . "enum" Identifier EnumBody
   44                | . "enum" Identifier "implements" TypeList EnumBody
   45 NormalInterfaceDeclaration: . "interface" Identifier InterfaceBody
   46                           | . "interface" Identifier "extends" TypeList InterfaceBody
   47                           | . "interface" Identifier TypeParameters InterfaceBody
   48                           | . "interface" Identifier TypeParameters "extends" TypeList InterfaceBody
   49 AnnotationTypeDeclaration: . '@' "interface" Identifier AnnotationTypeBody
   50 Type: . BasicType
   51     | . BasicType ArrayDesignatorList
   52     | . ReferenceType
   53     | . ReferenceType ArrayDesignatorList
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   78 TypeParameters: . '<' TypeParameterList '>'
   83 Modifier: . Annotation
   84         | . "public"
   85         | . "protected"
   86         | . "private"
   87         | . "static"
   88         | . "abstract"
   89         | . "final"
   90         | . "native"
   91         | . "synchronized"
   92         | . "transient"
   93         | . "volatile"
   94         | . "strictfp"
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  110 ClassBody: '{' ClassBodyDeclarationList . '}'
  111 ClassBodyDeclaration: . ';'
  112                     | . MemberDecl
  113                     | . ModifierList MemberDecl
  114                     | . Block
  115                     | . "static" Block
  116 MemberDecl: . MethodOrFieldDecl
  117           | . "void" Identifier VoidMethodDeclaratorRest
  118           | . Identifier ConstructorDeclaratorRest
  119           | . GenericMethodOrConstructorDecl
  120           | . ClassDeclaration
  121           | . InterfaceDeclaration
  122 MethodOrFieldDecl: . Type Identifier MethodOrFieldRest
  143 GenericMethodOrConstructorDecl: . TypeParameters GenericMethodOrConstructorRest
  200 Block: . '{' BlockStatements '}'
  436 ClassBodyDeclarationList: ClassBodyDeclarationList . ClassBodyDeclaration
  455 ModifierList: . Modifier
  456             | . ModifierList BOGUS Modifier

    Identifier      shift, and go to state 100
    ';'             shift, and go to state 101
    "static"        shift, and go to state 102
    "class"         shift, and go to state 5
    "enum"          shift, and go to state 6
    "interface"     shift, and go to state 7
    '@'             shift, and go to state 8
    "byte"          shift, and go to state 86
    "short"         shift, and go to state 87
    "char"          shift, and go to state 88
    "int"           shift, and go to state 89
    "long"          shift, and go to state 90
    "float"         shift, and go to state 91
    "double"        shift, and go to state 92
    "boolean"       shift, and go to state 93
    '<'             shift, and go to state 61
    "public"        shift, and go to state 9
    "protected"     shift, and go to state 10
    "private"       shift, and go to state 11
    "abstract"      shift, and go to state 12
    "final"         shift, and go to state 13
    "native"        shift, and go to state 14
    "synchronized"  shift, and go to state 15
    "transient"     shift, and go to state 16
    "volatile"      shift, and go to state 17
    "strictfp"      shift, and go to state 18
    '{'             shift, and go to state 103
    '}'             shift, and go to state 242
    "void"          shift, and go to state 105

    ClassDeclaration                go to state 106
    InterfaceDeclaration            go to state 107
    NormalClassDeclaration          go to state 27
    EnumDeclaration                 go to state 28
    NormalInterfaceDeclaration      go to state 29
    AnnotationTypeDeclaration       go to state 30
    Type                            go to state 108
    BasicType                       go to state 95
    ReferenceType                   go to state 96
    TypeParameters                  go to state 109
    Modifier                        go to state 31
    Annotation                      go to state 47
    ClassBodyDeclaration            go to state 243
    MemberDecl                      go to state 111
    MethodOrFieldDecl               go to state 112
    GenericMethodOrConstructorDecl  go to state 113
    Block                           go to state 114
    ModifierList                    go to state 116


State 116

   31 ClassDeclaration: . NormalClassDeclaration
   32                 | . EnumDeclaration
   33 InterfaceDeclaration: . NormalInterfaceDeclaration
   34                     | . AnnotationTypeDeclaration
   35 NormalClassDeclaration: . "class" Identifier ClassBody
   36                       | . "class" Identifier "implements" TypeList ClassBody
   37                       | . "class" Identifier "extends" Type ClassBody
   38                       | . "class" Identifier "extends" Type "implements" TypeList ClassBody
   39                       | . "class" Identifier TypeParameters ClassBody
   40                       | . "class" Identifier TypeParameters "implements" TypeList ClassBody
   41                       | . "class" Identifier TypeParameters "extends" Type ClassBody
   42                       | . "class" Identifier TypeParameters "extends" Type "implements" TypeList ClassBody
   43 EnumDeclaration: . "enum" Identifier EnumBody
   44                | . "enum" Identifier "implements" TypeList EnumBody
   45 NormalInterfaceDeclaration: . "interface" Identifier InterfaceBody
   46                           | . "interface" Identifier "extends" TypeList InterfaceBody
   47                           | . "interface" Identifier TypeParameters InterfaceBody
   48                           | . "interface" Identifier TypeParameters "extends" TypeList InterfaceBody
   49 AnnotationTypeDeclaration: . '@' "interface" Identifier AnnotationTypeBody
   50 Type: . BasicType
   51     | . BasicType ArrayDesignatorList
   52     | . ReferenceType
   53     | . ReferenceType ArrayDesignatorList
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   78 TypeParameters: . '<' TypeParameterList '>'
  113 ClassBodyDeclaration: ModifierList . MemberDecl
  116 MemberDecl: . MethodOrFieldDecl
  117           | . "void" Identifier VoidMethodDeclaratorRest
  118           | . Identifier ConstructorDeclaratorRest
  119           | . GenericMethodOrConstructorDecl
  120           | . ClassDeclaration
  121           | . InterfaceDeclaration
  122 MethodOrFieldDecl: . Type Identifier MethodOrFieldRest
  143 GenericMethodOrConstructorDecl: . TypeParameters GenericMethodOrConstructorRest
  456 ModifierList: ModifierList . BOGUS Modifier

    Identifier   shift, and go to state 100
    BOGUS        shift, and go to state 244
    "class"      shift, and go to state 5
    "enum"       shift, and go to state 6
    "interface"  shift, and go to state 7
    '@'          shift, and go to state 245
    "byte"       shift, and go to state 86
    "short"      shift, and go to state 87
    "char"       shift, and go to state 88
    "int"        shift, and go to state 89
    "long"       shift, and go to state 90
    "float"      shift, and go to state 91
    "double"     shift, and go to state 92
    "boolean"    shift, and go to state 93
    '<'          shift, and go to state 61
    "void"       shift, and go to state 105

    ClassDeclaration                go to state 106
    InterfaceDeclaration            go to state 107
    NormalClassDeclaration          go to state 27
    EnumDeclaration                 go to state 28
    NormalInterfaceDeclaration      go to state 29
    AnnotationTypeDeclaration       go to state 30
    Type                            go to state 108
    BasicType                       go to state 95
    ReferenceType                   go to state 96
    TypeParameters                  go to state 109
    MemberDecl                      go to state 246
    MethodOrFieldDecl               go to state 112
    GenericMethodOrConstructorDecl  go to state 113


State 117

   40 NormalClassDeclaration: "class" Identifier TypeParameters "implements" . TypeList ClassBody
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   72 TypeList: . ReferenceType
   73         | . TypeList ',' ReferenceType

    Identifier  shift, and go to state 83

    ReferenceType  go to state 84
    TypeList       go to state 247


State 118

   41 NormalClassDeclaration: "class" Identifier TypeParameters "extends" . Type ClassBody
   42                       | "class" Identifier TypeParameters "extends" . Type "implements" TypeList ClassBody
   50 Type: . BasicType
   51     | . BasicType ArrayDesignatorList
   52     | . ReferenceType
   53     | . ReferenceType ArrayDesignatorList
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments

    Identifier  shift, and go to state 83
    "byte"      shift, and go to state 86
    "short"     shift, and go to state 87
    "char"      shift, and go to state 88
    "int"       shift, and go to state 89
    "long"      shift, and go to state 90
    "float"     shift, and go to state 91
    "double"    shift, and go to state 92
    "boolean"   shift, and go to state 93

    Type           go to state 248
    BasicType      go to state 95
    ReferenceType  go to state 96


State 119

   39 NormalClassDeclaration: "class" Identifier TypeParameters ClassBody .

    $default  reduce using rule 39 (NormalClassDeclaration)


State 120

   44 EnumDeclaration: "enum" Identifier "implements" TypeList . EnumBody
   73 TypeList: TypeList . ',' ReferenceType
  398 EnumBody: . '{' '}'
  399         | . '{' EnumBodyDeclarations '}'
  400         | . '{' ',' '}'
  401         | . '{' ',' EnumBodyDeclarations '}'
  402         | . '{' EnumConstants '}'
  403         | . '{' EnumConstants EnumBodyDeclarations '}'
  404         | . '{' EnumConstants ',' '}'
  405         | . '{' EnumConstants ',' EnumBodyDeclarations '}'

    ','  shift, and go to state 192
    '{'  shift, and go to state 66

    EnumBody  go to state 249


State 121

  109 ClassBody: . '{' '}'
  110          | . '{' ClassBodyDeclarationList '}'
  354 Arguments: . '(' ')'
  355          | . '(' Expression ')'
  356          | . '(' Expression ExpressionList ')'
  408 EnumConstant: Identifier .  [',', ';', '}']
  409             | Identifier . ClassBody
  410             | Identifier . Arguments
  411             | Identifier . Arguments ClassBody

    '('  shift, and go to state 250
    '{'  shift, and go to state 62

    $default  reduce using rule 408 (EnumConstant)

    ClassBody  go to state 251
    Arguments  go to state 252


State 122

  400 EnumBody: '{' ',' . '}'
  401         | '{' ',' . EnumBodyDeclarations '}'
  416 EnumBodyDeclarations: . ';'
  417                     | . ';' ClassBodyDeclarationList

    ';'  shift, and go to state 123
    '}'  shift, and go to state 253

    EnumBodyDeclarations  go to state 254


State 123

   31 ClassDeclaration: . NormalClassDeclaration
   32                 | . EnumDeclaration
   33 InterfaceDeclaration: . NormalInterfaceDeclaration
   34                     | . AnnotationTypeDeclaration
   35 NormalClassDeclaration: . "class" Identifier ClassBody
   36                       | . "class" Identifier "implements" TypeList ClassBody
   37                       | . "class" Identifier "extends" Type ClassBody
   38                       | . "class" Identifier "extends" Type "implements" TypeList ClassBody
   39                       | . "class" Identifier TypeParameters ClassBody
   40                       | . "class" Identifier TypeParameters "implements" TypeList ClassBody
   41                       | . "class" Identifier TypeParameters "extends" Type ClassBody
   42                       | . "class" Identifier TypeParameters "extends" Type "implements" TypeList ClassBody
   43 EnumDeclaration: . "enum" Identifier EnumBody
   44                | . "enum" Identifier "implements" TypeList EnumBody
   45 NormalInterfaceDeclaration: . "interface" Identifier InterfaceBody
   46                           | . "interface" Identifier "extends" TypeList InterfaceBody
   47                           | . "interface" Identifier TypeParameters InterfaceBody
   48                           | . "interface" Identifier TypeParameters "extends" TypeList InterfaceBody
   49 AnnotationTypeDeclaration: . '@' "interface" Identifier AnnotationTypeBody
   50 Type: . BasicType
   51     | . BasicType ArrayDesignatorList
   52     | . ReferenceType
   53     | . ReferenceType ArrayDesignatorList
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   78 TypeParameters: . '<' TypeParameterList '>'
   83 Modifier: . Annotation
   84         | . "public"
   85         | . "protected"
   86         | . "private"
   87         | . "static"
   88         | . "abstract"
   89         | . "final"
   90         | . "native"
   91         | . "synchronized"
   92         | . "transient"
   93         | . "volatile"
   94         | . "strictfp"
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  111 ClassBodyDeclaration: . ';'
  112                     | . MemberDecl
  113                     | . ModifierList MemberDecl
  114                     | . Block
  115                     | . "static" Block
  116 MemberDecl: . MethodOrFieldDecl
  117           | . "void" Identifier VoidMethodDeclaratorRest
  118           | . Identifier ConstructorDeclaratorRest
  119           | . GenericMethodOrConstructorDecl
  120           | . ClassDeclaration
  121           | . InterfaceDeclaration
  122 MethodOrFieldDecl: . Type Identifier MethodOrFieldRest
  143 GenericMethodOrConstructorDecl: . TypeParameters GenericMethodOrConstructorRest
  200 Block: . '{' BlockStatements '}'
  416 EnumBodyDeclarations: ';' .  ['}']
  417                     | ';' . ClassBodyDeclarationList
  435 ClassBodyDeclarationList: . ClassBodyDeclaration
  436                         | . ClassBodyDeclarationList ClassBodyDeclaration
  455 ModifierList: . Modifier
  456             | . ModifierList BOGUS Modifier

    Identifier      shift, and go to state 100
    ';'             shift, and go to state 101
    "static"        shift, and go to state 102
    "class"         shift, and go to state 5
    "enum"          shift, and go to state 6
    "interface"     shift, and go to state 7
    '@'             shift, and go to state 8
    "byte"          shift, and go to state 86
    "short"         shift, and go to state 87
    "char"          shift, and go to state 88
    "int"           shift, and go to state 89
    "long"          shift, and go to state 90
    "float"         shift, and go to state 91
    "double"        shift, and go to state 92
    "boolean"       shift, and go to state 93
    '<'             shift, and go to state 61
    "public"        shift, and go to state 9
    "protected"     shift, and go to state 10
    "private"       shift, and go to state 11
    "abstract"      shift, and go to state 12
    "final"         shift, and go to state 13
    "native"        shift, and go to state 14
    "synchronized"  shift, and go to state 15
    "transient"     shift, and go to state 16
    "volatile"      shift, and go to state 17
    "strictfp"      shift, and go to state 18
    '{'             shift, and go to state 103
    "void"          shift, and go to state 105

    $default  reduce using rule 416 (EnumBodyDeclarations)

    ClassDeclaration                go to state 106
    InterfaceDeclaration            go to state 107
    NormalClassDeclaration          go to state 27
    EnumDeclaration                 go to state 28
    NormalInterfaceDeclaration      go to state 29
    AnnotationTypeDeclaration       go to state 30
    Type                            go to state 108
    BasicType                       go to state 95
    ReferenceType                   go to state 96
    TypeParameters                  go to state 109
    Modifier                        go to state 31
    Annotation                      go to state 47
    ClassBodyDeclaration            go to state 110
    MemberDecl                      go to state 111
    MethodOrFieldDecl               go to state 112
    GenericMethodOrConstructorDecl  go to state 113
    Block                           go to state 114
    ClassBodyDeclarationList        go to state 255
    ModifierList                    go to state 116


State 124

  398 EnumBody: '{' '}' .

    $default  reduce using rule 398 (EnumBody)


State 125

   96 Annotations: Annotations . Annotation
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  412 EnumConstant: Annotations . Identifier
  413             | Annotations . Identifier ClassBody
  414             | Annotations . Identifier Arguments
  415             | Annotations . Identifier Arguments ClassBody

    Identifier  shift, and go to state 256
    '@'         shift, and go to state 50

    Annotation  go to state 51


State 126

   95 Annotations: Annotation .

    $default  reduce using rule 95 (Annotations)


State 127

  402 EnumBody: '{' EnumConstants . '}'
  403         | '{' EnumConstants . EnumBodyDeclarations '}'
  404         | '{' EnumConstants . ',' '}'
  405         | '{' EnumConstants . ',' EnumBodyDeclarations '}'
  407 EnumConstants: EnumConstants . ',' EnumConstant
  416 EnumBodyDeclarations: . ';'
  417                     | . ';' ClassBodyDeclarationList

    ','  shift, and go to state 257
    ';'  shift, and go to state 123
    '}'  shift, and go to state 258

    EnumBodyDeclarations  go to state 259


State 128

  406 EnumConstants: EnumConstant .

    $default  reduce using rule 406 (EnumConstants)


State 129

  399 EnumBody: '{' EnumBodyDeclarations . '}'

    '}'  shift, and go to state 260


State 130

   46 NormalInterfaceDeclaration: "interface" Identifier "extends" TypeList . InterfaceBody
   73 TypeList: TypeList . ',' ReferenceType
  147 InterfaceBody: . '{' '}'
  148              | . '{' InterfaceBodyDeclarationList '}'

    ','  shift, and go to state 192
    '{'  shift, and go to state 69

    InterfaceBody  go to state 261


State 131

  149 InterfaceBodyDeclaration: ';' .

    $default  reduce using rule 149 (InterfaceBodyDeclaration)


State 132

  147 InterfaceBody: '{' '}' .

    $default  reduce using rule 147 (InterfaceBody)


State 133

  153 InterfaceMemberDecl: "void" . Identifier VoidInterfaceMethodDeclaratorRest

    Identifier  shift, and go to state 262


State 134

  155 InterfaceMemberDecl: ClassDeclaration .

    $default  reduce using rule 155 (InterfaceMemberDecl)


State 135

  156 InterfaceMemberDecl: InterfaceDeclaration .

    $default  reduce using rule 156 (InterfaceMemberDecl)


State 136

  157 InterfaceMethodOrFieldDecl: Type . Identifier InterfaceMethodOrFieldRest

    Identifier  shift, and go to state 263


State 137

   50 Type: . BasicType
   51     | . BasicType ArrayDesignatorList
   52     | . ReferenceType
   53     | . ReferenceType ArrayDesignatorList
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
  173 InterfaceGenericMethodDecl: TypeParameters . "void" Identifier VoidInterfaceMethodDeclaratorRest
  174                           | TypeParameters . Type Identifier InterfaceMethodDeclaratorRest

    Identifier  shift, and go to state 83
    "byte"      shift, and go to state 86
    "short"     shift, and go to state 87
    "char"      shift, and go to state 88
    "int"       shift, and go to state 89
    "long"      shift, and go to state 90
    "float"     shift, and go to state 91
    "double"    shift, and go to state 92
    "boolean"   shift, and go to state 93
    "void"      shift, and go to state 264

    Type           go to state 265
    BasicType      go to state 95
    ReferenceType  go to state 96


State 138

  447 InterfaceBodyDeclarationList: InterfaceBodyDeclaration .

    $default  reduce using rule 447 (InterfaceBodyDeclarationList)


State 139

  150 InterfaceBodyDeclaration: InterfaceMemberDecl .

    $default  reduce using rule 150 (InterfaceBodyDeclaration)


State 140

  152 InterfaceMemberDecl: InterfaceMethodOrFieldDecl .

    $default  reduce using rule 152 (InterfaceMemberDecl)


State 141

  154 InterfaceMemberDecl: InterfaceGenericMethodDecl .

    $default  reduce using rule 154 (InterfaceMemberDecl)


State 142

   31 ClassDeclaration: . NormalClassDeclaration
   32                 | . EnumDeclaration
   33 InterfaceDeclaration: . NormalInterfaceDeclaration
   34                     | . AnnotationTypeDeclaration
   35 NormalClassDeclaration: . "class" Identifier ClassBody
   36                       | . "class" Identifier "implements" TypeList ClassBody
   37                       | . "class" Identifier "extends" Type ClassBody
   38                       | . "class" Identifier "extends" Type "implements" TypeList ClassBody
   39                       | . "class" Identifier TypeParameters ClassBody
   40                       | . "class" Identifier TypeParameters "implements" TypeList ClassBody
   41                       | . "class" Identifier TypeParameters "extends" Type ClassBody
   42                       | . "class" Identifier TypeParameters "extends" Type "implements" TypeList ClassBody
   43 EnumDeclaration: . "enum" Identifier EnumBody
   44                | . "enum" Identifier "implements" TypeList EnumBody
   45 NormalInterfaceDeclaration: . "interface" Identifier InterfaceBody
   46                           | . "interface" Identifier "extends" TypeList InterfaceBody
   47                           | . "interface" Identifier TypeParameters InterfaceBody
   48                           | . "interface" Identifier TypeParameters "extends" TypeList InterfaceBody
   49 AnnotationTypeDeclaration: . '@' "interface" Identifier AnnotationTypeBody
   50 Type: . BasicType
   51     | . BasicType ArrayDesignatorList
   52     | . ReferenceType
   53     | . ReferenceType ArrayDesignatorList
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   78 TypeParameters: . '<' TypeParameterList '>'
   83 Modifier: . Annotation
   84         | . "public"
   85         | . "protected"
   86         | . "private"
   87         | . "static"
   88         | . "abstract"
   89         | . "final"
   90         | . "native"
   91         | . "synchronized"
   92         | . "transient"
   93         | . "volatile"
   94         | . "strictfp"
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  148 InterfaceBody: '{' InterfaceBodyDeclarationList . '}'
  149 InterfaceBodyDeclaration: . ';'
  150                         | . InterfaceMemberDecl
  151                         | . ModifierList InterfaceMemberDecl
  152 InterfaceMemberDecl: . InterfaceMethodOrFieldDecl
  153                    | . "void" Identifier VoidInterfaceMethodDeclaratorRest
  154                    | . InterfaceGenericMethodDecl
  155                    | . ClassDeclaration
  156                    | . InterfaceDeclaration
  157 InterfaceMethodOrFieldDecl: . Type Identifier InterfaceMethodOrFieldRest
  173 InterfaceGenericMethodDecl: . TypeParameters "void" Identifier VoidInterfaceMethodDeclaratorRest
  174                           | . TypeParameters Type Identifier InterfaceMethodDeclaratorRest
  448 InterfaceBodyDeclarationList: InterfaceBodyDeclarationList . InterfaceBodyDeclaration
  455 ModifierList: . Modifier
  456             | . ModifierList BOGUS Modifier

    Identifier      shift, and go to state 83
    ';'             shift, and go to state 131
    "static"        shift, and go to state 4
    "class"         shift, and go to state 5
    "enum"          shift, and go to state 6
    "interface"     shift, and go to state 7
    '@'             shift, and go to state 8
    "byte"          shift, and go to state 86
    "short"         shift, and go to state 87
    "char"          shift, and go to state 88
    "int"           shift, and go to state 89
    "long"          shift, and go to state 90
    "float"         shift, and go to state 91
    "double"        shift, and go to state 92
    "boolean"       shift, and go to state 93
    '<'             shift, and go to state 61
    "public"        shift, and go to state 9
    "protected"     shift, and go to state 10
    "private"       shift, and go to state 11
    "abstract"      shift, and go to state 12
    "final"         shift, and go to state 13
    "native"        shift, and go to state 14
    "synchronized"  shift, and go to state 15
    "transient"     shift, and go to state 16
    "volatile"      shift, and go to state 17
    "strictfp"      shift, and go to state 18
    '}'             shift, and go to state 266
    "void"          shift, and go to state 133

    ClassDeclaration            go to state 134
    InterfaceDeclaration        go to state 135
    NormalClassDeclaration      go to state 27
    EnumDeclaration             go to state 28
    NormalInterfaceDeclaration  go to state 29
    AnnotationTypeDeclaration   go to state 30
    Type                        go to state 136
    BasicType                   go to state 95
    ReferenceType               go to state 96
    TypeParameters              go to state 137
    Modifier                    go to state 31
    Annotation                  go to state 47
    InterfaceBodyDeclaration    go to state 267
    InterfaceMemberDecl         go to state 139
    InterfaceMethodOrFieldDecl  go to state 140
    InterfaceGenericMethodDecl  go to state 141
    ModifierList                go to state 143


State 143

   31 ClassDeclaration: . NormalClassDeclaration
   32                 | . EnumDeclaration
   33 InterfaceDeclaration: . NormalInterfaceDeclaration
   34                     | . AnnotationTypeDeclaration
   35 NormalClassDeclaration: . "class" Identifier ClassBody
   36                       | . "class" Identifier "implements" TypeList ClassBody
   37                       | . "class" Identifier "extends" Type ClassBody
   38                       | . "class" Identifier "extends" Type "implements" TypeList ClassBody
   39                       | . "class" Identifier TypeParameters ClassBody
   40                       | . "class" Identifier TypeParameters "implements" TypeList ClassBody
   41                       | . "class" Identifier TypeParameters "extends" Type ClassBody
   42                       | . "class" Identifier TypeParameters "extends" Type "implements" TypeList ClassBody
   43 EnumDeclaration: . "enum" Identifier EnumBody
   44                | . "enum" Identifier "implements" TypeList EnumBody
   45 NormalInterfaceDeclaration: . "interface" Identifier InterfaceBody
   46                           | . "interface" Identifier "extends" TypeList InterfaceBody
   47                           | . "interface" Identifier TypeParameters InterfaceBody
   48                           | . "interface" Identifier TypeParameters "extends" TypeList InterfaceBody
   49 AnnotationTypeDeclaration: . '@' "interface" Identifier AnnotationTypeBody
   50 Type: . BasicType
   51     | . BasicType ArrayDesignatorList
   52     | . ReferenceType
   53     | . ReferenceType ArrayDesignatorList
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   78 TypeParameters: . '<' TypeParameterList '>'
  151 InterfaceBodyDeclaration: ModifierList . InterfaceMemberDecl
  152 InterfaceMemberDecl: . InterfaceMethodOrFieldDecl
  153                    | . "void" Identifier VoidInterfaceMethodDeclaratorRest
  154                    | . InterfaceGenericMethodDecl
  155                    | . ClassDeclaration
  156                    | . InterfaceDeclaration
  157 InterfaceMethodOrFieldDecl: . Type Identifier InterfaceMethodOrFieldRest
  173 InterfaceGenericMethodDecl: . TypeParameters "void" Identifier VoidInterfaceMethodDeclaratorRest
  174                           | . TypeParameters Type Identifier InterfaceMethodDeclaratorRest
  456 ModifierList: ModifierList . BOGUS Modifier

    Identifier   shift, and go to state 83
    BOGUS        shift, and go to state 244
    "class"      shift, and go to state 5
    "enum"       shift, and go to state 6
    "interface"  shift, and go to state 7
    '@'          shift, and go to state 245
    "byte"       shift, and go to state 86
    "short"      shift, and go to state 87
    "char"       shift, and go to state 88
    "int"        shift, and go to state 89
    "long"       shift, and go to state 90
    "float"      shift, and go to state 91
    "double"     shift, and go to state 92
    "boolean"    shift, and go to state 93
    '<'          shift, and go to state 61
    "void"       shift, and go to state 133

    ClassDeclaration            go to state 134
    InterfaceDeclaration        go to state 135
    NormalClassDeclaration      go to state 27
    EnumDeclaration             go to state 28
    NormalInterfaceDeclaration  go to state 29
    AnnotationTypeDeclaration   go to state 30
    Type                        go to state 136
    BasicType                   go to state 95
    ReferenceType               go to state 96
    TypeParameters              go to state 137
    InterfaceMemberDecl         go to state 268
    InterfaceMethodOrFieldDecl  go to state 140
    InterfaceGenericMethodDecl  go to state 141


State 144

   48 NormalInterfaceDeclaration: "interface" Identifier TypeParameters "extends" . TypeList InterfaceBody
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   72 TypeList: . ReferenceType
   73         | . TypeList ',' ReferenceType

    Identifier  shift, and go to state 83

    ReferenceType  go to state 84
    TypeList       go to state 269


State 145

   47 NormalInterfaceDeclaration: "interface" Identifier TypeParameters InterfaceBody .

    $default  reduce using rule 47 (NormalInterfaceDeclaration)


State 146

   31 ClassDeclaration: . NormalClassDeclaration
   32                 | . EnumDeclaration
   33 InterfaceDeclaration: . NormalInterfaceDeclaration
   34                     | . AnnotationTypeDeclaration
   35 NormalClassDeclaration: . "class" Identifier ClassBody
   36                       | . "class" Identifier "implements" TypeList ClassBody
   37                       | . "class" Identifier "extends" Type ClassBody
   38                       | . "class" Identifier "extends" Type "implements" TypeList ClassBody
   39                       | . "class" Identifier TypeParameters ClassBody
   40                       | . "class" Identifier TypeParameters "implements" TypeList ClassBody
   41                       | . "class" Identifier TypeParameters "extends" Type ClassBody
   42                       | . "class" Identifier TypeParameters "extends" Type "implements" TypeList ClassBody
   43 EnumDeclaration: . "enum" Identifier EnumBody
   44                | . "enum" Identifier "implements" TypeList EnumBody
   45 NormalInterfaceDeclaration: . "interface" Identifier InterfaceBody
   46                           | . "interface" Identifier "extends" TypeList InterfaceBody
   47                           | . "interface" Identifier TypeParameters InterfaceBody
   48                           | . "interface" Identifier TypeParameters "extends" TypeList InterfaceBody
   49 AnnotationTypeDeclaration: . '@' "interface" Identifier AnnotationTypeBody
   50 Type: . BasicType
   51     | . BasicType ArrayDesignatorList
   52     | . ReferenceType
   53     | . ReferenceType ArrayDesignatorList
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   83 Modifier: . Annotation
   84         | . "public"
   85         | . "protected"
   86         | . "private"
   87         | . "static"
   88         | . "abstract"
   89         | . "final"
   90         | . "native"
   91         | . "synchronized"
   92         | . "transient"
   93         | . "volatile"
   94         | . "strictfp"
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  418 AnnotationTypeBody: '{' . '}'
  419                   | '{' . AnnotationTypeElementDeclarations '}'
  420 AnnotationTypeElementDeclarations: . AnnotationTypeElementDeclaration
  421                                  | . AnnotationTypeElementDeclarations AnnotationTypeElementDeclaration
  422 AnnotationTypeElementDeclaration: . AnnotationTypeElementRest
  423                                 | . ModifierList BOGUS AnnotationTypeElementRest
  424 AnnotationTypeElementRest: . Type Identifier AnnotationMethodOrConstantRest ';'
  425                          | . ClassDeclaration
  426                          | . InterfaceDeclaration
  455 ModifierList: . Modifier
  456             | . ModifierList BOGUS Modifier

    Identifier      shift, and go to state 83
    "static"        shift, and go to state 4
    "class"         shift, and go to state 5
    "enum"          shift, and go to state 6
    "interface"     shift, and go to state 7
    '@'             shift, and go to state 8
    "byte"          shift, and go to state 86
    "short"         shift, and go to state 87
    "char"          shift, and go to state 88
    "int"           shift, and go to state 89
    "long"          shift, and go to state 90
    "float"         shift, and go to state 91
    "double"        shift, and go to state 92
    "boolean"       shift, and go to state 93
    "public"        shift, and go to state 9
    "protected"     shift, and go to state 10
    "private"       shift, and go to state 11
    "abstract"      shift, and go to state 12
    "final"         shift, and go to state 13
    "native"        shift, and go to state 14
    "synchronized"  shift, and go to state 15
    "transient"     shift, and go to state 16
    "volatile"      shift, and go to state 17
    "strictfp"      shift, and go to state 18
    '}'             shift, and go to state 270

    ClassDeclaration                   go to state 271
    InterfaceDeclaration               go to state 272
    NormalClassDeclaration             go to state 27
    EnumDeclaration                    go to state 28
    NormalInterfaceDeclaration         go to state 29
    AnnotationTypeDeclaration          go to state 30
    Type                               go to state 273
    BasicType                          go to state 95
    ReferenceType                      go to state 96
    Modifier                           go to state 31
    Annotation                         go to state 47
    AnnotationTypeElementDeclarations  go to state 274
    AnnotationTypeElementDeclaration   go to state 275
    AnnotationTypeElementRest          go to state 276
    ModifierList                       go to state 277


State 147

   49 AnnotationTypeDeclaration: '@' "interface" Identifier AnnotationTypeBody .

    $default  reduce using rule 49 (AnnotationTypeDeclaration)


State 148

  351 Literal: BooleanLiteral .

    $default  reduce using rule 351 (Literal)


State 149

  349 Literal: CharacterLiteral .

    $default  reduce using rule 349 (Literal)


State 150

  348 Literal: FloatingPointLiteral .

    $default  reduce using rule 348 (Literal)


State 151

  347 Literal: IntegerLiteral .

    $default  reduce using rule 347 (Literal)


State 152

  352 Literal: NullLiteral .

    $default  reduce using rule 352 (Literal)


State 153

  350 Literal: StringLiteral .

    $default  reduce using rule 350 (Literal)


State 154

    1 QualifiedIdentifier: Identifier .  ['.', '*', '<', '>', '?', '&', '(', ')', "instanceof", "||", "&&", '|', '^', "==", "!=", "<=", ">=", "<<", ">>", ">>>", '+', '-', '/', '%', "++", "--", '[']
  104 ElementValuePair: Identifier . '=' ElementValue
  341 Primary: Identifier . IdentifierSuffix
  354 Arguments: . '(' ')'
  355          | . '(' Expression ')'
  356          | . '(' Expression ExpressionList ')'
  377 IdentifierSuffix: . '[' Expression ']'
  378                 | . '[' '.' "class" ']'
  379                 | . '[' ArrayDesignatorList '.' "class" ']'
  380                 | . Arguments
  381                 | . '.' "new" InnerCreator
  382                 | . '.' "super" Arguments
  383                 | . '.' "this"
  384                 | . '.' ExplicitGenericInvocation
  385                 | . '.' "class"
  386                 | . '.' "new" NonWildcardTypeArguments InnerCreator

    '.'  shift, and go to state 278
    '('  shift, and go to state 250
    '='  shift, and go to state 279
    '['  shift, and go to state 280

    '.'       [reduce using rule 1 (QualifiedIdentifier)]
    '('       [reduce using rule 1 (QualifiedIdentifier)]
    '['       [reduce using rule 1 (QualifiedIdentifier)]
    $default  reduce using rule 1 (QualifiedIdentifier)

    Arguments         go to state 281
    IdentifierSuffix  go to state 282


State 155

   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   71 NonWildcardTypeArguments: '<' . TypeList '>'
   72 TypeList: . ReferenceType
   73         | . TypeList ',' ReferenceType

    Identifier  shift, and go to state 83

    ReferenceType  go to state 84
    TypeList       go to state 283


State 156

  337 Primary: "super" . SuperSuffix
  354 Arguments: . '(' ')'
  355          | . '(' Expression ')'
  356          | . '(' Expression ExpressionList ')'
  357 SuperSuffix: . Arguments
  358            | . '.' Identifier
  359            | . '.' Identifier Arguments

    '.'  shift, and go to state 284
    '('  shift, and go to state 250

    Arguments    go to state 285
    SuperSuffix  go to state 286


State 157

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   50 Type: . BasicType
   51     | . BasicType ArrayDesignatorList
   52     | . ReferenceType
   53     | . ReferenceType ArrayDesignatorList
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  319            | '(' . Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  320            | '(' . Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'
  353              | '(' . Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 287
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    Type                      go to state 288
    BasicType                 go to state 223
    ReferenceType             go to state 96
    NonWildcardTypeArguments  go to state 171
    Expression                go to state 289
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 158

   98 Annotation: '@' QualifiedIdentifier '(' ')' .

    $default  reduce using rule 98 (Annotation)


State 159

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  105 ElementValue: . Annotation
  106             | . Expression1
  107             | . ElementValueArrayInitializer
  108 ElementValueArrayInitializer: . '{' ElementValuesList '}'
  108                             | '{' . ElementValuesList '}'
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'
  459 ElementValuesList: . ','
  460                  | . ElementValue
  461                  | . ElementValuesList ','
  462                  | . ElementValuesList ElementValue

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    ','                   shift, and go to state 291
    '@'                   shift, and go to state 50
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    '{'                   shift, and go to state 159
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier           go to state 169
    BasicType                     go to state 170
    NonWildcardTypeArguments      go to state 171
    Annotation                    go to state 172
    ElementValue                  go to state 292
    ElementValueArrayInitializer  go to state 177
    Expression1                   go to state 178
    Expression2                   go to state 179
    Expression3                   go to state 180
    PrefixOp                      go to state 181
    Primary                       go to state 182
    Literal                       go to state 183
    ParExpression                 go to state 184
    ElementValuesList             go to state 293


State 160

  346 Primary: "void" . '.' "class"

    '.'  shift, and go to state 294


State 161

  329 PrefixOp: '+' .

    $default  reduce using rule 329 (PrefixOp)


State 162

  330 PrefixOp: '-' .

    $default  reduce using rule 330 (PrefixOp)


State 163

  325 PrefixOp: "++" .

    $default  reduce using rule 325 (PrefixOp)


State 164

  326 PrefixOp: "--" .

    $default  reduce using rule 326 (PrefixOp)


State 165

  327 PrefixOp: '!' .

    $default  reduce using rule 327 (PrefixOp)


State 166

  328 PrefixOp: '~' .

    $default  reduce using rule 328 (PrefixOp)


State 167

  335 Primary: "this" .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, '.', ',', ';', '*', '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', '>', '?', "super", '&', '(', ')', '=', '{', '}', "void", ':', "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", "instanceof", "||", "&&", '|', '^', "==", "!=", "<=", ">=", "<<", ">>", ">>>", '+', '-', '/', '%', "++", "--", '!', '~', "this", "new", '[', ']']
  336        | "this" . Arguments
  354 Arguments: . '(' ')'
  355          | . '(' Expression ')'
  356          | . '(' Expression ExpressionList ')'

    '('  shift, and go to state 250

    '('       [reduce using rule 335 (Primary)]
    $default  reduce using rule 335 (Primary)

    Arguments  go to state 295


State 168

   71 NonWildcardTypeArguments: . '<' TypeList '>'
  338 Primary: "new" . Creator
  362 Creator: . NonWildcardTypeArguments CreatedName ClassCreatorRest
  363        | . CreatedName ArrayCreatorRest
  364        | . CreatedName ClassCreatorRest
  365 CreatedName: . Identifier
  366            | . Identifier TypeArgumentsOrDiamond
  367            | . Identifier DiamondKindIdentifierList
  368            | . Identifier TypeArgumentsOrDiamond DiamondKindIdentifierList

    Identifier  shift, and go to state 296
    '<'         shift, and go to state 155

    NonWildcardTypeArguments  go to state 297
    Creator                   go to state 298
    CreatedName               go to state 299


State 169

    2 QualifiedIdentifier: QualifiedIdentifier . '.' Identifier
  342 Primary: QualifiedIdentifier .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, '.', ',', ';', '*', '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', '>', '?', "super", '&', '(', ')', '=', '{', '}', "void", ':', "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", "instanceof", "||", "&&", '|', '^', "==", "!=", "<=", ">=", "<<", ">>", ">>>", '+', '-', '/', '%', "++", "--", '!', '~', "this", "new", '[', ']']
  343        | QualifiedIdentifier . IdentifierSuffix
  354 Arguments: . '(' ')'
  355          | . '(' Expression ')'
  356          | . '(' Expression ExpressionList ')'
  377 IdentifierSuffix: . '[' Expression ']'
  378                 | . '[' '.' "class" ']'
  379                 | . '[' ArrayDesignatorList '.' "class" ']'
  380                 | . Arguments
  381                 | . '.' "new" InnerCreator
  382                 | . '.' "super" Arguments
  383                 | . '.' "this"
  384                 | . '.' ExplicitGenericInvocation
  385                 | . '.' "class"
  386                 | . '.' "new" NonWildcardTypeArguments InnerCreator

    '.'  shift, and go to state 300
    '('  shift, and go to state 250
    '['  shift, and go to state 280

    '.'       [reduce using rule 342 (Primary)]
    '('       [reduce using rule 342 (Primary)]
    '['       [reduce using rule 342 (Primary)]
    $default  reduce using rule 342 (Primary)

    Arguments         go to state 281
    IdentifierSuffix  go to state 301


State 170

  344 Primary: BasicType . '.' "class"
  345        | BasicType . ArrayDesignatorList '.' "class"
  467 ArrayDesignatorList: . '[' ']'
  468                    | . ArrayDesignatorList '[' ']'

    '.'  shift, and go to state 302
    '['  shift, and go to state 196

    ArrayDesignatorList  go to state 303


State 171

  339 Primary: NonWildcardTypeArguments . "this" Arguments
  340        | NonWildcardTypeArguments . ExplicitGenericInvocationSuffix
  360 ExplicitGenericInvocationSuffix: . "super" SuperSuffix
  361                                | . Identifier Arguments

    Identifier  shift, and go to state 304
    "super"     shift, and go to state 305
    "this"      shift, and go to state 306

    ExplicitGenericInvocationSuffix  go to state 307


State 172

  105 ElementValue: Annotation .

    $default  reduce using rule 105 (ElementValue)


State 173

   99 Annotation: '@' QualifiedIdentifier '(' AnnotationElement . ')'

    ')'  shift, and go to state 308


State 174

  100 AnnotationElement: ElementValuePairs .  [')']
  103 ElementValuePairs: ElementValuePairs . ',' ElementValuePair

    ','  shift, and go to state 309

    $default  reduce using rule 100 (AnnotationElement)


State 175

  102 ElementValuePairs: ElementValuePair .

    $default  reduce using rule 102 (ElementValuePairs)


State 176

  101 AnnotationElement: ElementValue .

    $default  reduce using rule 101 (AnnotationElement)


State 177

  107 ElementValue: ElementValueArrayInitializer .

    $default  reduce using rule 107 (ElementValue)


State 178

  106 ElementValue: Expression1 .

    $default  reduce using rule 106 (ElementValue)


State 179

  292 Expression1: Expression2 .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, ',', ';', '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', "super", '(', ')', '=', '{', '}', "void", ':', "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", '+', '-', "++", "--", '!', '~', "this", "new", ']']
  293            | Expression2 . Expression1Rest
  294 Expression1Rest: . '?' Expression ':' Expression1

    '?'  shift, and go to state 310

    $default  reduce using rule 292 (Expression1)

    Expression1Rest  go to state 311


State 180

  295 Expression2: Expression3 .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, ',', ';', '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', '?', "super", '(', ')', '=', '{', '}', "void", ':', "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", '+', '-', "++", "--", '!', '~', "this", "new", ']']
  296            | Expression3 . Expression2Rest
  297 Expression2Rest: . InfixOpExpression3List
  298                | . "instanceof" Type
  299 InfixOp: . "||"
  300        | . "&&"
  301        | . '|'
  302        | . '^'
  303        | . '&'
  304        | . "=="
  305        | . "!="
  306        | . '<'
  307        | . '>'
  308        | . "<="
  309        | . ">="
  310        | . "<<"
  311        | . ">>"
  312        | . ">>>"
  313        | . '+'
  314        | . '-'
  315        | . '*'
  316        | . '/'
  317        | . '%'
  469 InfixOpExpression3List: . InfixOp Expression3
  470                       | . InfixOpExpression3List InfixOp Expression3

    '*'           shift, and go to state 312
    '<'           shift, and go to state 313
    '>'           shift, and go to state 314
    '&'           shift, and go to state 315
    "instanceof"  shift, and go to state 316
    "||"          shift, and go to state 317
    "&&"          shift, and go to state 318
    '|'           shift, and go to state 319
    '^'           shift, and go to state 320
    "=="          shift, and go to state 321
    "!="          shift, and go to state 322
    "<="          shift, and go to state 323
    ">="          shift, and go to state 324
    "<<"          shift, and go to state 325
    ">>"          shift, and go to state 326
    ">>>"         shift, and go to state 327
    '+'           shift, and go to state 328
    '-'           shift, and go to state 329
    '/'           shift, and go to state 330
    '%'           shift, and go to state 331

    '<'       [reduce using rule 295 (Expression2)]
    '+'       [reduce using rule 295 (Expression2)]
    '-'       [reduce using rule 295 (Expression2)]
    $default  reduce using rule 295 (Expression2)

    Expression2Rest         go to state 332
    InfixOp                 go to state 333
    InfixOpExpression3List  go to state 334


State 181

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  318 Expression3: . PrefixOp Expression3
  318            | PrefixOp . Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Expression3               go to state 335
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 182

  321 Expression3: Primary .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, ',', ';', '*', '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', '>', '?', "super", '&', '(', ')', '=', '{', '}', "void", ':', "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", "instanceof", "||", "&&", '|', '^', "==", "!=", "<=", ">=", "<<", ">>", ">>>", '+', '-', '/', '%', "++", "--", '!', '~', "this", "new", ']']
  322            | Primary . SelectorList
  323            | Primary . PostfixOpList
  324            | Primary . SelectorList PostfixOpList
  331 PostfixOp: . "++"
  332          | . "--"
  390 Selector: . '.' Identifier
  391         | . '.' Identifier Arguments
  392         | . '.' ExplicitGenericInvocation
  393         | . '.' "this"
  394         | . '.' "super" SuperSuffix
  395         | . '.' "new" InnerCreator
  396         | . '.' "new" NonWildcardTypeArguments InnerCreator
  397         | . '[' Expression ']'
  433 PostfixOpList: . PostfixOp
  434              | . PostfixOpList PostfixOp
  451 SelectorList: . Selector
  452             | . SelectorList Selector

    '.'   shift, and go to state 336
    "++"  shift, and go to state 337
    "--"  shift, and go to state 338
    '['   shift, and go to state 339

    "++"      [reduce using rule 321 (Expression3)]
    "--"      [reduce using rule 321 (Expression3)]
    $default  reduce using rule 321 (Expression3)

    PostfixOp      go to state 340
    Selector       go to state 341
    PostfixOpList  go to state 342
    SelectorList   go to state 343


State 183

  333 Primary: Literal .

    $default  reduce using rule 333 (Primary)


State 184

  334 Primary: ParExpression .

    $default  reduce using rule 334 (Primary)


State 185

    9 CompilationUnit: Annotations "package" QualifiedIdentifier ';' .  ["end of file"]
   11                | Annotations "package" QualifiedIdentifier ';' . ImportDeclarationList
   13                | Annotations "package" QualifiedIdentifier ';' . ImportDeclarationList TypeDeclarationList
   15                | Annotations "package" QualifiedIdentifier ';' . TypeDeclarationList
   17 ImportDeclarationList: . ImportDeclaration
   18                      | . ImportDeclarationList ImportDeclaration
   19 TypeDeclarationList: . TypeDeclaration
   20                    | . TypeDeclarationList TypeDeclaration
   21 ImportDeclaration: . "import" "static" QualifiedIdentifier '.' '*' ';'
   22                  | . "import" "static" QualifiedIdentifier ';'
   23                  | . "import" QualifiedIdentifier '.' '*' ';'
   24                  | . "import" QualifiedIdentifier ';'
   25 TypeDeclaration: . ClassOrInterfaceDeclaration
   26                | . ';'
   27 ClassOrInterfaceDeclaration: . InterfaceDeclaration
   28                            | . ClassDeclaration
   29                            | . ModifierList BOGUS InterfaceDeclaration
   30                            | . ModifierList ClassDeclaration
   31 ClassDeclaration: . NormalClassDeclaration
   32                 | . EnumDeclaration
   33 InterfaceDeclaration: . NormalInterfaceDeclaration
   34                     | . AnnotationTypeDeclaration
   35 NormalClassDeclaration: . "class" Identifier ClassBody
   36                       | . "class" Identifier "implements" TypeList ClassBody
   37                       | . "class" Identifier "extends" Type ClassBody
   38                       | . "class" Identifier "extends" Type "implements" TypeList ClassBody
   39                       | . "class" Identifier TypeParameters ClassBody
   40                       | . "class" Identifier TypeParameters "implements" TypeList ClassBody
   41                       | . "class" Identifier TypeParameters "extends" Type ClassBody
   42                       | . "class" Identifier TypeParameters "extends" Type "implements" TypeList ClassBody
   43 EnumDeclaration: . "enum" Identifier EnumBody
   44                | . "enum" Identifier "implements" TypeList EnumBody
   45 NormalInterfaceDeclaration: . "interface" Identifier InterfaceBody
   46                           | . "interface" Identifier "extends" TypeList InterfaceBody
   47                           | . "interface" Identifier TypeParameters InterfaceBody
   48                           | . "interface" Identifier TypeParameters "extends" TypeList InterfaceBody
   49 AnnotationTypeDeclaration: . '@' "interface" Identifier AnnotationTypeBody
   83 Modifier: . Annotation
   84         | . "public"
   85         | . "protected"
   86         | . "private"
   87         | . "static"
   88         | . "abstract"
   89         | . "final"
   90         | . "native"
   91         | . "synchronized"
   92         | . "transient"
   93         | . "volatile"
   94         | . "strictfp"
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  455 ModifierList: . Modifier
  456             | . ModifierList BOGUS Modifier

    ';'             shift, and go to state 2
    "import"        shift, and go to state 3
    "static"        shift, and go to state 4
    "class"         shift, and go to state 5
    "enum"          shift, and go to state 6
    "interface"     shift, and go to state 7
    '@'             shift, and go to state 8
    "public"        shift, and go to state 9
    "protected"     shift, and go to state 10
    "private"       shift, and go to state 11
    "abstract"      shift, and go to state 12
    "final"         shift, and go to state 13
    "native"        shift, and go to state 14
    "synchronized"  shift, and go to state 15
    "transient"     shift, and go to state 16
    "volatile"      shift, and go to state 17
    "strictfp"      shift, and go to state 18

    $default  reduce using rule 9 (CompilationUnit)

    ImportDeclarationList        go to state 344
    TypeDeclarationList          go to state 345
    ImportDeclaration            go to state 22
    TypeDeclaration              go to state 23
    ClassOrInterfaceDeclaration  go to state 24
    ClassDeclaration             go to state 25
    InterfaceDeclaration         go to state 26
    NormalClassDeclaration       go to state 27
    EnumDeclaration              go to state 28
    NormalInterfaceDeclaration   go to state 29
    AnnotationTypeDeclaration    go to state 30
    Modifier                     go to state 31
    Annotation                   go to state 47
    ModifierList                 go to state 34


State 186

   14 CompilationUnit: "package" QualifiedIdentifier ';' ImportDeclarationList TypeDeclarationList .  ["end of file"]
   20 TypeDeclarationList: TypeDeclarationList . TypeDeclaration
   25 TypeDeclaration: . ClassOrInterfaceDeclaration
   26                | . ';'
   27 ClassOrInterfaceDeclaration: . InterfaceDeclaration
   28                            | . ClassDeclaration
   29                            | . ModifierList BOGUS InterfaceDeclaration
   30                            | . ModifierList ClassDeclaration
   31 ClassDeclaration: . NormalClassDeclaration
   32                 | . EnumDeclaration
   33 InterfaceDeclaration: . NormalInterfaceDeclaration
   34                     | . AnnotationTypeDeclaration
   35 NormalClassDeclaration: . "class" Identifier ClassBody
   36                       | . "class" Identifier "implements" TypeList ClassBody
   37                       | . "class" Identifier "extends" Type ClassBody
   38                       | . "class" Identifier "extends" Type "implements" TypeList ClassBody
   39                       | . "class" Identifier TypeParameters ClassBody
   40                       | . "class" Identifier TypeParameters "implements" TypeList ClassBody
   41                       | . "class" Identifier TypeParameters "extends" Type ClassBody
   42                       | . "class" Identifier TypeParameters "extends" Type "implements" TypeList ClassBody
   43 EnumDeclaration: . "enum" Identifier EnumBody
   44                | . "enum" Identifier "implements" TypeList EnumBody
   45 NormalInterfaceDeclaration: . "interface" Identifier InterfaceBody
   46                           | . "interface" Identifier "extends" TypeList InterfaceBody
   47                           | . "interface" Identifier TypeParameters InterfaceBody
   48                           | . "interface" Identifier TypeParameters "extends" TypeList InterfaceBody
   49 AnnotationTypeDeclaration: . '@' "interface" Identifier AnnotationTypeBody
   83 Modifier: . Annotation
   84         | . "public"
   85         | . "protected"
   86         | . "private"
   87         | . "static"
   88         | . "abstract"
   89         | . "final"
   90         | . "native"
   91         | . "synchronized"
   92         | . "transient"
   93         | . "volatile"
   94         | . "strictfp"
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  455 ModifierList: . Modifier
  456             | . ModifierList BOGUS Modifier

    ';'             shift, and go to state 2
    "static"        shift, and go to state 4
    "class"         shift, and go to state 5
    "enum"          shift, and go to state 6
    "interface"     shift, and go to state 7
    '@'             shift, and go to state 8
    "public"        shift, and go to state 9
    "protected"     shift, and go to state 10
    "private"       shift, and go to state 11
    "abstract"      shift, and go to state 12
    "final"         shift, and go to state 13
    "native"        shift, and go to state 14
    "synchronized"  shift, and go to state 15
    "transient"     shift, and go to state 16
    "volatile"      shift, and go to state 17
    "strictfp"      shift, and go to state 18

    $default  reduce using rule 14 (CompilationUnit)

    TypeDeclaration              go to state 48
    ClassOrInterfaceDeclaration  go to state 24
    ClassDeclaration             go to state 25
    InterfaceDeclaration         go to state 26
    NormalClassDeclaration       go to state 27
    EnumDeclaration              go to state 28
    NormalInterfaceDeclaration   go to state 29
    AnnotationTypeDeclaration    go to state 30
    Modifier                     go to state 31
    Annotation                   go to state 47
    ModifierList                 go to state 34


State 187

   21 ImportDeclaration: "import" "static" QualifiedIdentifier '.' '*' . ';'

    ';'  shift, and go to state 346


State 188

   23 ImportDeclaration: "import" QualifiedIdentifier '.' '*' ';' .

    $default  reduce using rule 23 (ImportDeclaration)


State 189

   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   66 TypeArguments: '<' . TypeArgumentList '>'
   67 TypeArgument: . ReferenceType
   68             | . '?'
   69             | . '?' "super" ReferenceType
   70             | . '?' "extends" ReferenceType
  445 TypeArgumentList: . TypeArgument
  446                 | . TypeArgumentList ',' TypeArgument

    Identifier  shift, and go to state 83
    '?'         shift, and go to state 347

    ReferenceType     go to state 348
    TypeArgument      go to state 349
    TypeArgumentList  go to state 350


State 190

   63 ReferenceType: Identifier TypeArguments .

    $default  reduce using rule 63 (ReferenceType)


State 191

   64 ReferenceType: ReferenceType '.' . Identifier
   65              | ReferenceType '.' . Identifier TypeArguments

    Identifier  shift, and go to state 351


State 192

   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   73 TypeList: TypeList ',' . ReferenceType

    Identifier  shift, and go to state 83

    ReferenceType  go to state 352


State 193

   36 NormalClassDeclaration: "class" Identifier "implements" TypeList ClassBody .

    $default  reduce using rule 36 (NormalClassDeclaration)


State 194

   38 NormalClassDeclaration: "class" Identifier "extends" Type "implements" . TypeList ClassBody
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   72 TypeList: . ReferenceType
   73         | . TypeList ',' ReferenceType

    Identifier  shift, and go to state 83

    ReferenceType  go to state 84
    TypeList       go to state 353


State 195

   37 NormalClassDeclaration: "class" Identifier "extends" Type ClassBody .

    $default  reduce using rule 37 (NormalClassDeclaration)


State 196

  467 ArrayDesignatorList: '[' . ']'

    ']'  shift, and go to state 354


State 197

   51 Type: BasicType ArrayDesignatorList .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, ',', ';', "implements", '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', '?', "super", '(', ')', '=', '{', '}', "void", "...", ':', "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", '+', '-', "++", "--", '!', '~', "this", "new", ']']
  468 ArrayDesignatorList: ArrayDesignatorList . '[' ']'

    '['  shift, and go to state 355

    $default  reduce using rule 51 (Type)


State 198

   53 Type: ReferenceType ArrayDesignatorList .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, ',', ';', "implements", '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', '?', "super", '(', ')', '=', '{', '}', "void", "...", ':', "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", '+', '-', "++", "--", '!', '~', "this", "new", ']']
  468 ArrayDesignatorList: ArrayDesignatorList . '[' ']'

    '['  shift, and go to state 355

    $default  reduce using rule 53 (Type)


State 199

   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   80 TypeParameter: Identifier "extends" . Bound
   81 Bound: . ReferenceType
   82      | . Bound '&' ReferenceType

    Identifier  shift, and go to state 83

    ReferenceType  go to state 356
    Bound          go to state 357


State 200

   79 TypeParameter: . Identifier
   80              | . Identifier "extends" Bound
  454 TypeParameterList: TypeParameterList ',' . TypeParameter

    Identifier  shift, and go to state 97

    TypeParameter  go to state 358


State 201

   78 TypeParameters: '<' TypeParameterList '>' .

    $default  reduce using rule 78 (TypeParameters)


State 202

   50 Type: . BasicType
   51     | . BasicType ArrayDesignatorList
   52     | . ReferenceType
   53     | . ReferenceType ArrayDesignatorList
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  175 FormalParameters: '(' . ')'
  176                 | '(' . FormalParameterDecls ')'
  177 FormalParameterDecls: . Type FormalParameterDeclsRest
  178                     | . VariableModifierList Type FormalParameterDeclsRest
  179 VariableModifier: . "final"
  180                 | . Annotation
  439 VariableModifierList: . VariableModifier
  440                     | . VariableModifierList VariableModifier

    Identifier  shift, and go to state 83
    '@'         shift, and go to state 50
    "byte"      shift, and go to state 86
    "short"     shift, and go to state 87
    "char"      shift, and go to state 88
    "int"       shift, and go to state 89
    "long"      shift, and go to state 90
    "float"     shift, and go to state 91
    "double"    shift, and go to state 92
    "boolean"   shift, and go to state 93
    "final"     shift, and go to state 359
    ')'         shift, and go to state 360

    Type                  go to state 361
    BasicType             go to state 95
    ReferenceType         go to state 96
    Annotation            go to state 362
    FormalParameterDecls  go to state 363
    VariableModifier      go to state 225
    VariableModifierList  go to state 364


State 203

  118 MemberDecl: Identifier ConstructorDeclaratorRest .

    $default  reduce using rule 118 (MemberDecl)


State 204

  139 ConstructorDeclaratorRest: FormalParameters . Block
  140                          | FormalParameters . "throws" QualifiedIdentifierList Block
  141                          | FormalParameters . API_ELISION ';'
  142                          | FormalParameters . "throws" QualifiedIdentifierList API_ELISION ';'
  200 Block: . '{' BlockStatements '}'

    API_ELISION  shift, and go to state 365
    '{'          shift, and go to state 103
    "throws"     shift, and go to state 366

    Block  go to state 367


State 205

  115 ClassBodyDeclaration: "static" Block .

    $default  reduce using rule 115 (ClassBodyDeclaration)


State 206

    1 QualifiedIdentifier: Identifier .  ['.', ';', '*', '<', '>', '?', '&', '(', '=', "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", "instanceof", "||", "&&", '|', '^', "==", "!=", "<=", ">=", "<<", ">>", ">>>", '+', '-', '/', '%', "++", "--", '[']
   62 ReferenceType: Identifier .  [Identifier, '.', '[']
   63              | Identifier . TypeArguments
   66 TypeArguments: . '<' TypeArgumentList '>'
  206 BlockStatement: Identifier . ':' Statement
  211 Statement: Identifier . ':' Statement
  341 Primary: Identifier . IdentifierSuffix
  354 Arguments: . '(' ')'
  355          | . '(' Expression ')'
  356          | . '(' Expression ExpressionList ')'
  377 IdentifierSuffix: . '[' Expression ']'
  378                 | . '[' '.' "class" ']'
  379                 | . '[' ArrayDesignatorList '.' "class" ']'
  380                 | . Arguments
  381                 | . '.' "new" InnerCreator
  382                 | . '.' "super" Arguments
  383                 | . '.' "this"
  384                 | . '.' ExplicitGenericInvocation
  385                 | . '.' "class"
  386                 | . '.' "new" NonWildcardTypeArguments InnerCreator

    '.'  shift, and go to state 278
    '<'  shift, and go to state 189
    '('  shift, and go to state 250
    ':'  shift, and go to state 368
    '['  shift, and go to state 280

    Identifier  reduce using rule 62 (ReferenceType)
    '.'         [reduce using rule 1 (QualifiedIdentifier)]
    '.'         [reduce using rule 62 (ReferenceType)]
    '<'         [reduce using rule 1 (QualifiedIdentifier)]
    '('         [reduce using rule 1 (QualifiedIdentifier)]
    '['         [reduce using rule 1 (QualifiedIdentifier)]
    '['         [reduce using rule 62 (ReferenceType)]
    $default    reduce using rule 1 (QualifiedIdentifier)

    TypeArguments     go to state 190
    Arguments         go to state 281
    IdentifierSuffix  go to state 282


State 207

  210 Statement: ';' .

    $default  reduce using rule 210 (Statement)


State 208

   89 Modifier: "final" .  [BOGUS, "class", "enum"]
  179 VariableModifier: "final" .  [Identifier, '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", "final"]

    BOGUS     reduce using rule 89 (Modifier)
    "class"   reduce using rule 89 (Modifier)
    "enum"    reduce using rule 89 (Modifier)
    $default  reduce using rule 179 (VariableModifier)


State 209

   91 Modifier: "synchronized" .  [BOGUS, "class", "enum"]
  228 Statement: "synchronized" . ParExpression Block
  353 ParExpression: . '(' Expression ')'

    '('  shift, and go to state 369

    $default  reduce using rule 91 (Modifier)

    ParExpression  go to state 370


State 210

  213 Statement: "if" . ParExpression Statement
  214          | "if" . ParExpression Statement "else" Statement
  353 ParExpression: . '(' Expression ')'

    '('  shift, and go to state 369

    ParExpression  go to state 371


State 211

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  215 Statement: "assert" . Expression ';'
  216          | "assert" . Expression ':' Expression ';'
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Expression                go to state 372
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 212

  217 Statement: "switch" . ParExpression '{' SwitchBlockStatementGroups '}'
  353 ParExpression: . '(' Expression ')'

    '('  shift, and go to state 369

    ParExpression  go to state 373


State 213

  218 Statement: "while" . ParExpression Statement
  353 ParExpression: . '(' Expression ')'

    '('  shift, and go to state 369

    ParExpression  go to state 374


State 214

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  200 Block: . '{' BlockStatements '}'
  209 Statement: . Block
  210          | . ';'
  211          | . Identifier ':' Statement
  212          | . StatementExpression ';'
  213          | . "if" ParExpression Statement
  214          | . "if" ParExpression Statement "else" Statement
  215          | . "assert" Expression ';'
  216          | . "assert" Expression ':' Expression ';'
  217          | . "switch" ParExpression '{' SwitchBlockStatementGroups '}'
  218          | . "while" ParExpression Statement
  219          | . "do" Statement "while" ParExpression ';'
  219          | "do" . Statement "while" ParExpression ';'
  220          | . "for" '(' ForControl ')' Statement
  221          | . "break" ';'
  222          | . "break" Identifier ';'
  223          | . "continue" ';'
  224          | . "continue" Identifier ';'
  225          | . "return" ';'
  226          | . "return" Expression ';'
  227          | . "throw" Expression ';'
  228          | . "synchronized" ParExpression Block
  229          | . "try" Block Finally
  230          | . "try" Block Catches
  231          | . "try" Block Catches Finally
  232          | . "try" ResourceSpecification Block
  233          | . "try" ResourceSpecification Block Finally
  234          | . "try" ResourceSpecification Block Catches
  235          | . "try" ResourceSpecification Block Catches Finally
  236 StatementExpression: . Expression
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 375
    ';'                   shift, and go to state 207
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    "synchronized"        shift, and go to state 376
    '('                   shift, and go to state 157
    '{'                   shift, and go to state 103
    "void"                shift, and go to state 160
    "if"                  shift, and go to state 210
    "assert"              shift, and go to state 211
    "switch"              shift, and go to state 212
    "while"               shift, and go to state 213
    "do"                  shift, and go to state 214
    "for"                 shift, and go to state 215
    "break"               shift, and go to state 216
    "continue"            shift, and go to state 217
    "return"              shift, and go to state 218
    "throw"               shift, and go to state 219
    "try"                 shift, and go to state 220
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Block                     go to state 226
    Statement                 go to state 377
    StatementExpression       go to state 231
    Expression                go to state 232
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 215

  220 Statement: "for" . '(' ForControl ')' Statement

    '('  shift, and go to state 378


State 216

  221 Statement: "break" . ';'
  222          | "break" . Identifier ';'

    Identifier  shift, and go to state 379
    ';'         shift, and go to state 380


State 217

  223 Statement: "continue" . ';'
  224          | "continue" . Identifier ';'

    Identifier  shift, and go to state 381
    ';'         shift, and go to state 382


State 218

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  225 Statement: "return" . ';'
  226          | "return" . Expression ';'
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    ';'                   shift, and go to state 383
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Expression                go to state 384
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 219

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  227 Statement: "throw" . Expression ';'
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Expression                go to state 385
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 220

  200 Block: . '{' BlockStatements '}'
  229 Statement: "try" . Block Finally
  230          | "try" . Block Catches
  231          | "try" . Block Catches Finally
  232          | "try" . ResourceSpecification Block
  233          | "try" . ResourceSpecification Block Finally
  234          | "try" . ResourceSpecification Block Catches
  235          | "try" . ResourceSpecification Block Catches Finally
  244 ResourceSpecification: . '(' Resources ')'
  245                      | . '(' Resources ';' ')'

    '('  shift, and go to state 386
    '{'  shift, and go to state 103

    Block                  go to state 387
    ResourceSpecification  go to state 388


State 221

  204 BlockStatement: ClassOrInterfaceDeclaration .

    $default  reduce using rule 204 (BlockStatement)


State 222

  186 VariableDeclarators: . VariableDeclarator
  187                    | . VariableDeclarator VariableDeclaratorList
  188 VariableDeclarator: . Identifier VariableDeclaratorRest
  207 LocalVariableDeclarationStatement: Type . VariableDeclarators ';'

    Identifier  shift, and go to state 389

    VariableDeclarators  go to state 390
    VariableDeclarator   go to state 391


State 223

   50 Type: BasicType .  [Identifier, ')']
   51     | BasicType . ArrayDesignatorList
  344 Primary: BasicType . '.' "class"
  345        | BasicType . ArrayDesignatorList '.' "class"
  467 ArrayDesignatorList: . '[' ']'
  468                    | . ArrayDesignatorList '[' ']'

    '.'  shift, and go to state 302
    '['  shift, and go to state 196

    $default  reduce using rule 50 (Type)

    ArrayDesignatorList  go to state 392


State 224

   83 Modifier: Annotation .  [BOGUS, "class", "enum"]
  180 VariableModifier: Annotation .  [Identifier, '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", "final"]

    BOGUS     reduce using rule 83 (Modifier)
    "class"   reduce using rule 83 (Modifier)
    "enum"    reduce using rule 83 (Modifier)
    $default  reduce using rule 180 (VariableModifier)


State 225

  439 VariableModifierList: VariableModifier .

    $default  reduce using rule 439 (VariableModifierList)


State 226

  209 Statement: Block .

    $default  reduce using rule 209 (Statement)


State 227

  200 Block: '{' BlockStatements . '}'

    '}'  shift, and go to state 393


State 228

  465 BlockStatementList: BlockStatement .

    $default  reduce using rule 465 (BlockStatementList)


State 229

  203 BlockStatement: LocalVariableDeclarationStatement .

    $default  reduce using rule 203 (BlockStatement)


State 230

  205 BlockStatement: Statement .

    $default  reduce using rule 205 (BlockStatement)


State 231

  212 Statement: StatementExpression . ';'

    ';'  shift, and go to state 394


State 232

  236 StatementExpression: Expression .

    $default  reduce using rule 236 (StatementExpression)


State 233

  278 Expression: Expression1 .  [',', ';', ')', '}', ':', ']']
  279           | Expression1 . AssignmentOperator Expression1
  280 AssignmentOperator: . '='
  281                   | . "+="
  282                   | . "-="
  283                   | . "*="
  284                   | . "/="
  285                   | . "&="
  286                   | . "|="
  287                   | . "^="
  288                   | . "%="
  289                   | . "<<="
  290                   | . ">>="
  291                   | . ">>>="

    '='     shift, and go to state 395
    "+="    shift, and go to state 396
    "-="    shift, and go to state 397
    "*="    shift, and go to state 398
    "/="    shift, and go to state 399
    "&="    shift, and go to state 400
    "|="    shift, and go to state 401
    "^="    shift, and go to state 402
    "%="    shift, and go to state 403
    "<<="   shift, and go to state 404
    ">>="   shift, and go to state 405
    ">>>="  shift, and go to state 406

    $default  reduce using rule 278 (Expression)

    AssignmentOperator  go to state 407


State 234

   50 Type: . BasicType
   51     | . BasicType ArrayDesignatorList
   52     | . ReferenceType
   53     | . ReferenceType ArrayDesignatorList
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  179 VariableModifier: . "final"
  180                 | . Annotation
  208 LocalVariableDeclarationStatement: VariableModifierList . Type VariableDeclarators ';'
  440 VariableModifierList: VariableModifierList . VariableModifier

    Identifier  shift, and go to state 83
    '@'         shift, and go to state 50
    "byte"      shift, and go to state 86
    "short"     shift, and go to state 87
    "char"      shift, and go to state 88
    "int"       shift, and go to state 89
    "long"      shift, and go to state 90
    "float"     shift, and go to state 91
    "double"    shift, and go to state 92
    "boolean"   shift, and go to state 93
    "final"     shift, and go to state 359

    Type              go to state 408
    BasicType         go to state 95
    ReferenceType     go to state 96
    Annotation        go to state 362
    VariableModifier  go to state 409


State 235

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   27 ClassOrInterfaceDeclaration: . InterfaceDeclaration
   28                            | . ClassDeclaration
   29                            | . ModifierList BOGUS InterfaceDeclaration
   30                            | . ModifierList ClassDeclaration
   31 ClassDeclaration: . NormalClassDeclaration
   32                 | . EnumDeclaration
   33 InterfaceDeclaration: . NormalInterfaceDeclaration
   34                     | . AnnotationTypeDeclaration
   35 NormalClassDeclaration: . "class" Identifier ClassBody
   36                       | . "class" Identifier "implements" TypeList ClassBody
   37                       | . "class" Identifier "extends" Type ClassBody
   38                       | . "class" Identifier "extends" Type "implements" TypeList ClassBody
   39                       | . "class" Identifier TypeParameters ClassBody
   40                       | . "class" Identifier TypeParameters "implements" TypeList ClassBody
   41                       | . "class" Identifier TypeParameters "extends" Type ClassBody
   42                       | . "class" Identifier TypeParameters "extends" Type "implements" TypeList ClassBody
   43 EnumDeclaration: . "enum" Identifier EnumBody
   44                | . "enum" Identifier "implements" TypeList EnumBody
   45 NormalInterfaceDeclaration: . "interface" Identifier InterfaceBody
   46                           | . "interface" Identifier "extends" TypeList InterfaceBody
   47                           | . "interface" Identifier TypeParameters InterfaceBody
   48                           | . "interface" Identifier TypeParameters "extends" TypeList InterfaceBody
   49 AnnotationTypeDeclaration: . '@' "interface" Identifier AnnotationTypeBody
   50 Type: . BasicType
   51     | . BasicType ArrayDesignatorList
   52     | . ReferenceType
   53     | . ReferenceType ArrayDesignatorList
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   71 NonWildcardTypeArguments: . '<' TypeList '>'
   83 Modifier: . Annotation
   84         | . "public"
   85         | . "protected"
   86         | . "private"
   87         | . "static"
   88         | . "abstract"
   89         | . "final"
   90         | . "native"
   91         | . "synchronized"
   92         | . "transient"
   93         | . "volatile"
   94         | . "strictfp"
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  179 VariableModifier: . "final"
  180                 | . Annotation
  200 Block: . '{' BlockStatements '}'
  202 BlockStatements: BlockStatementList .  ['}', "case", "default"]
  203 BlockStatement: . LocalVariableDeclarationStatement
  204               | . ClassOrInterfaceDeclaration
  205               | . Statement
  206               | . Identifier ':' Statement
  207 LocalVariableDeclarationStatement: . Type VariableDeclarators ';'
  208                                  | . VariableModifierList Type VariableDeclarators ';'
  209 Statement: . Block
  210          | . ';'
  211          | . Identifier ':' Statement
  212          | . StatementExpression ';'
  213          | . "if" ParExpression Statement
  214          | . "if" ParExpression Statement "else" Statement
  215          | . "assert" Expression ';'
  216          | . "assert" Expression ':' Expression ';'
  217          | . "switch" ParExpression '{' SwitchBlockStatementGroups '}'
  218          | . "while" ParExpression Statement
  219          | . "do" Statement "while" ParExpression ';'
  220          | . "for" '(' ForControl ')' Statement
  221          | . "break" ';'
  222          | . "break" Identifier ';'
  223          | . "continue" ';'
  224          | . "continue" Identifier ';'
  225          | . "return" ';'
  226          | . "return" Expression ';'
  227          | . "throw" Expression ';'
  228          | . "synchronized" ParExpression Block
  229          | . "try" Block Finally
  230          | . "try" Block Catches
  231          | . "try" Block Catches Finally
  232          | . "try" ResourceSpecification Block
  233          | . "try" ResourceSpecification Block Finally
  234          | . "try" ResourceSpecification Block Catches
  235          | . "try" ResourceSpecification Block Catches Finally
  236 StatementExpression: . Expression
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'
  439 VariableModifierList: . VariableModifier
  440                     | . VariableModifierList VariableModifier
  455 ModifierList: . Modifier
  456             | . ModifierList BOGUS Modifier
  466 BlockStatementList: BlockStatementList . BlockStatement

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 206
    ';'                   shift, and go to state 207
    "static"              shift, and go to state 4
    "class"               shift, and go to state 5
    "enum"                shift, and go to state 6
    "interface"           shift, and go to state 7
    '@'                   shift, and go to state 8
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    "public"              shift, and go to state 9
    "protected"           shift, and go to state 10
    "private"             shift, and go to state 11
    "abstract"            shift, and go to state 12
    "final"               shift, and go to state 208
    "native"              shift, and go to state 14
    "synchronized"        shift, and go to state 209
    "transient"           shift, and go to state 16
    "volatile"            shift, and go to state 17
    "strictfp"            shift, and go to state 18
    '('                   shift, and go to state 157
    '{'                   shift, and go to state 103
    "void"                shift, and go to state 160
    "if"                  shift, and go to state 210
    "assert"              shift, and go to state 211
    "switch"              shift, and go to state 212
    "while"               shift, and go to state 213
    "do"                  shift, and go to state 214
    "for"                 shift, and go to state 215
    "break"               shift, and go to state 216
    "continue"            shift, and go to state 217
    "return"              shift, and go to state 218
    "throw"               shift, and go to state 219
    "try"                 shift, and go to state 220
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    $default  reduce using rule 202 (BlockStatements)

    QualifiedIdentifier                go to state 169
    ClassOrInterfaceDeclaration        go to state 221
    ClassDeclaration                   go to state 25
    InterfaceDeclaration               go to state 26
    NormalClassDeclaration             go to state 27
    EnumDeclaration                    go to state 28
    NormalInterfaceDeclaration         go to state 29
    AnnotationTypeDeclaration          go to state 30
    Type                               go to state 222
    BasicType                          go to state 223
    ReferenceType                      go to state 96
    NonWildcardTypeArguments           go to state 171
    Modifier                           go to state 31
    Annotation                         go to state 224
    VariableModifier                   go to state 225
    Block                              go to state 226
    BlockStatement                     go to state 410
    LocalVariableDeclarationStatement  go to state 229
    Statement                          go to state 230
    StatementExpression                go to state 231
    Expression                         go to state 232
    Expression1                        go to state 233
    Expression2                        go to state 179
    Expression3                        go to state 180
    PrefixOp                           go to state 181
    Primary                            go to state 182
    Literal                            go to state 183
    ParExpression                      go to state 184
    VariableModifierList               go to state 234
    ModifierList                       go to state 34


State 236

  117 MemberDecl: "void" Identifier . VoidMethodDeclaratorRest
  135 VoidMethodDeclaratorRest: . FormalParameters ';'
  136                         | . FormalParameters Block
  137                         | . FormalParameters "throws" QualifiedIdentifierList ';'
  138                         | . FormalParameters "throws" QualifiedIdentifierList Block
  175 FormalParameters: . '(' ')'
  176                 | . '(' FormalParameterDecls ')'

    '('  shift, and go to state 202

    VoidMethodDeclaratorRest  go to state 411
    FormalParameters          go to state 412


State 237

  122 MethodOrFieldDecl: Type Identifier . MethodOrFieldRest
  123 MethodOrFieldRest: . FieldDeclaratorsRest ';'
  124                  | . MethodDeclaratorRest
  125 FieldDeclaratorsRest: . VariableDeclaratorRest
  126                     | . VariableDeclaratorRest VariableDeclaratorList
  127 MethodDeclaratorRest: . FormalParameters ';'
  128                     | . FormalParameters Block
  129                     | . FormalParameters "throws" QualifiedIdentifierList ';'
  130                     | . FormalParameters "throws" QualifiedIdentifierList Block
  131                     | . FormalParameters ArrayDesignatorList ';'
  132                     | . FormalParameters ArrayDesignatorList Block
  133                     | . FormalParameters ArrayDesignatorList "throws" QualifiedIdentifierList ';'
  134                     | . FormalParameters ArrayDesignatorList "throws" QualifiedIdentifierList Block
  175 FormalParameters: . '(' ')'
  176                 | . '(' FormalParameterDecls ')'
  189 VariableDeclaratorRest: . %empty  [',', ';']
  190                       | . '=' VariableInitializer
  191                       | . ArrayDesignatorList
  192                       | . ArrayDesignatorList '=' VariableInitializer
  467 ArrayDesignatorList: . '[' ']'
  468                    | . ArrayDesignatorList '[' ']'

    '('  shift, and go to state 202
    '='  shift, and go to state 413
    '['  shift, and go to state 196

    $default  reduce using rule 189 (VariableDeclaratorRest)

    MethodOrFieldRest       go to state 414
    FieldDeclaratorsRest    go to state 415
    MethodDeclaratorRest    go to state 416
    FormalParameters        go to state 417
    VariableDeclaratorRest  go to state 418
    ArrayDesignatorList     go to state 419


State 238

   62 ReferenceType: Identifier .  [Identifier, '.', '[']
   63              | Identifier . TypeArguments
   66 TypeArguments: . '<' TypeArgumentList '>'
  139 ConstructorDeclaratorRest: . FormalParameters Block
  140                          | . FormalParameters "throws" QualifiedIdentifierList Block
  141                          | . FormalParameters API_ELISION ';'
  142                          | . FormalParameters "throws" QualifiedIdentifierList API_ELISION ';'
  146 GenericMethodOrConstructorRest: Identifier . ConstructorDeclaratorRest
  175 FormalParameters: . '(' ')'
  176                 | . '(' FormalParameterDecls ')'

    '<'  shift, and go to state 189
    '('  shift, and go to state 202

    $default  reduce using rule 62 (ReferenceType)

    TypeArguments              go to state 190
    ConstructorDeclaratorRest  go to state 420
    FormalParameters           go to state 204


State 239

  144 GenericMethodOrConstructorRest: "void" . Identifier VoidMethodDeclaratorRest

    Identifier  shift, and go to state 421


State 240

  145 GenericMethodOrConstructorRest: Type . Identifier MethodDeclaratorRest

    Identifier  shift, and go to state 422


State 241

  143 GenericMethodOrConstructorDecl: TypeParameters GenericMethodOrConstructorRest .

    $default  reduce using rule 143 (GenericMethodOrConstructorDecl)


State 242

  110 ClassBody: '{' ClassBodyDeclarationList '}' .

    $default  reduce using rule 110 (ClassBody)


State 243

  436 ClassBodyDeclarationList: ClassBodyDeclarationList ClassBodyDeclaration .

    $default  reduce using rule 436 (ClassBodyDeclarationList)


State 244

   83 Modifier: . Annotation
   84         | . "public"
   85         | . "protected"
   86         | . "private"
   87         | . "static"
   88         | . "abstract"
   89         | . "final"
   90         | . "native"
   91         | . "synchronized"
   92         | . "transient"
   93         | . "volatile"
   94         | . "strictfp"
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  456 ModifierList: ModifierList BOGUS . Modifier

    "static"        shift, and go to state 4
    '@'             shift, and go to state 50
    "public"        shift, and go to state 9
    "protected"     shift, and go to state 10
    "private"       shift, and go to state 11
    "abstract"      shift, and go to state 12
    "final"         shift, and go to state 13
    "native"        shift, and go to state 14
    "synchronized"  shift, and go to state 15
    "transient"     shift, and go to state 16
    "volatile"      shift, and go to state 17
    "strictfp"      shift, and go to state 18

    Modifier    go to state 76
    Annotation  go to state 47


State 245

   49 AnnotationTypeDeclaration: '@' . "interface" Identifier AnnotationTypeBody

    "interface"  shift, and go to state 42


State 246

  113 ClassBodyDeclaration: ModifierList MemberDecl .

    $default  reduce using rule 113 (ClassBodyDeclaration)


State 247

   40 NormalClassDeclaration: "class" Identifier TypeParameters "implements" TypeList . ClassBody
   73 TypeList: TypeList . ',' ReferenceType
  109 ClassBody: . '{' '}'
  110          | . '{' ClassBodyDeclarationList '}'

    ','  shift, and go to state 192
    '{'  shift, and go to state 62

    ClassBody  go to state 423


State 248

   41 NormalClassDeclaration: "class" Identifier TypeParameters "extends" Type . ClassBody
   42                       | "class" Identifier TypeParameters "extends" Type . "implements" TypeList ClassBody
  109 ClassBody: . '{' '}'
  110          | . '{' ClassBodyDeclarationList '}'

    "implements"  shift, and go to state 424
    '{'           shift, and go to state 62

    ClassBody  go to state 425


State 249

   44 EnumDeclaration: "enum" Identifier "implements" TypeList EnumBody .

    $default  reduce using rule 44 (EnumDeclaration)


State 250

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'
  354 Arguments: '(' . ')'
  355          | '(' . Expression ')'
  356          | '(' . Expression ExpressionList ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    ')'                   shift, and go to state 426
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Expression                go to state 427
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 251

  409 EnumConstant: Identifier ClassBody .

    $default  reduce using rule 409 (EnumConstant)


State 252

  109 ClassBody: . '{' '}'
  110          | . '{' ClassBodyDeclarationList '}'
  410 EnumConstant: Identifier Arguments .  [',', ';', '}']
  411             | Identifier Arguments . ClassBody

    '{'  shift, and go to state 62

    $default  reduce using rule 410 (EnumConstant)

    ClassBody  go to state 428


State 253

  400 EnumBody: '{' ',' '}' .

    $default  reduce using rule 400 (EnumBody)


State 254

  401 EnumBody: '{' ',' EnumBodyDeclarations . '}'

    '}'  shift, and go to state 429


State 255

   31 ClassDeclaration: . NormalClassDeclaration
   32                 | . EnumDeclaration
   33 InterfaceDeclaration: . NormalInterfaceDeclaration
   34                     | . AnnotationTypeDeclaration
   35 NormalClassDeclaration: . "class" Identifier ClassBody
   36                       | . "class" Identifier "implements" TypeList ClassBody
   37                       | . "class" Identifier "extends" Type ClassBody
   38                       | . "class" Identifier "extends" Type "implements" TypeList ClassBody
   39                       | . "class" Identifier TypeParameters ClassBody
   40                       | . "class" Identifier TypeParameters "implements" TypeList ClassBody
   41                       | . "class" Identifier TypeParameters "extends" Type ClassBody
   42                       | . "class" Identifier TypeParameters "extends" Type "implements" TypeList ClassBody
   43 EnumDeclaration: . "enum" Identifier EnumBody
   44                | . "enum" Identifier "implements" TypeList EnumBody
   45 NormalInterfaceDeclaration: . "interface" Identifier InterfaceBody
   46                           | . "interface" Identifier "extends" TypeList InterfaceBody
   47                           | . "interface" Identifier TypeParameters InterfaceBody
   48                           | . "interface" Identifier TypeParameters "extends" TypeList InterfaceBody
   49 AnnotationTypeDeclaration: . '@' "interface" Identifier AnnotationTypeBody
   50 Type: . BasicType
   51     | . BasicType ArrayDesignatorList
   52     | . ReferenceType
   53     | . ReferenceType ArrayDesignatorList
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   78 TypeParameters: . '<' TypeParameterList '>'
   83 Modifier: . Annotation
   84         | . "public"
   85         | . "protected"
   86         | . "private"
   87         | . "static"
   88         | . "abstract"
   89         | . "final"
   90         | . "native"
   91         | . "synchronized"
   92         | . "transient"
   93         | . "volatile"
   94         | . "strictfp"
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  111 ClassBodyDeclaration: . ';'
  112                     | . MemberDecl
  113                     | . ModifierList MemberDecl
  114                     | . Block
  115                     | . "static" Block
  116 MemberDecl: . MethodOrFieldDecl
  117           | . "void" Identifier VoidMethodDeclaratorRest
  118           | . Identifier ConstructorDeclaratorRest
  119           | . GenericMethodOrConstructorDecl
  120           | . ClassDeclaration
  121           | . InterfaceDeclaration
  122 MethodOrFieldDecl: . Type Identifier MethodOrFieldRest
  143 GenericMethodOrConstructorDecl: . TypeParameters GenericMethodOrConstructorRest
  200 Block: . '{' BlockStatements '}'
  417 EnumBodyDeclarations: ';' ClassBodyDeclarationList .  ['}']
  436 ClassBodyDeclarationList: ClassBodyDeclarationList . ClassBodyDeclaration
  455 ModifierList: . Modifier
  456             | . ModifierList BOGUS Modifier

    Identifier      shift, and go to state 100
    ';'             shift, and go to state 101
    "static"        shift, and go to state 102
    "class"         shift, and go to state 5
    "enum"          shift, and go to state 6
    "interface"     shift, and go to state 7
    '@'             shift, and go to state 8
    "byte"          shift, and go to state 86
    "short"         shift, and go to state 87
    "char"          shift, and go to state 88
    "int"           shift, and go to state 89
    "long"          shift, and go to state 90
    "float"         shift, and go to state 91
    "double"        shift, and go to state 92
    "boolean"       shift, and go to state 93
    '<'             shift, and go to state 61
    "public"        shift, and go to state 9
    "protected"     shift, and go to state 10
    "private"       shift, and go to state 11
    "abstract"      shift, and go to state 12
    "final"         shift, and go to state 13
    "native"        shift, and go to state 14
    "synchronized"  shift, and go to state 15
    "transient"     shift, and go to state 16
    "volatile"      shift, and go to state 17
    "strictfp"      shift, and go to state 18
    '{'             shift, and go to state 103
    "void"          shift, and go to state 105

    $default  reduce using rule 417 (EnumBodyDeclarations)

    ClassDeclaration                go to state 106
    InterfaceDeclaration            go to state 107
    NormalClassDeclaration          go to state 27
    EnumDeclaration                 go to state 28
    NormalInterfaceDeclaration      go to state 29
    AnnotationTypeDeclaration       go to state 30
    Type                            go to state 108
    BasicType                       go to state 95
    ReferenceType                   go to state 96
    TypeParameters                  go to state 109
    Modifier                        go to state 31
    Annotation                      go to state 47
    ClassBodyDeclaration            go to state 243
    MemberDecl                      go to state 111
    MethodOrFieldDecl               go to state 112
    GenericMethodOrConstructorDecl  go to state 113
    Block                           go to state 114
    ModifierList                    go to state 116


State 256

  109 ClassBody: . '{' '}'
  110          | . '{' ClassBodyDeclarationList '}'
  354 Arguments: . '(' ')'
  355          | . '(' Expression ')'
  356          | . '(' Expression ExpressionList ')'
  412 EnumConstant: Annotations Identifier .  [',', ';', '}']
  413             | Annotations Identifier . ClassBody
  414             | Annotations Identifier . Arguments
  415             | Annotations Identifier . Arguments ClassBody

    '('  shift, and go to state 250
    '{'  shift, and go to state 62

    $default  reduce using rule 412 (EnumConstant)

    ClassBody  go to state 430
    Arguments  go to state 431


State 257

   95 Annotations: . Annotation
   96            | . Annotations Annotation
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  404 EnumBody: '{' EnumConstants ',' . '}'
  405         | '{' EnumConstants ',' . EnumBodyDeclarations '}'
  407 EnumConstants: EnumConstants ',' . EnumConstant
  408 EnumConstant: . Identifier
  409             | . Identifier ClassBody
  410             | . Identifier Arguments
  411             | . Identifier Arguments ClassBody
  412             | . Annotations Identifier
  413             | . Annotations Identifier ClassBody
  414             | . Annotations Identifier Arguments
  415             | . Annotations Identifier Arguments ClassBody
  416 EnumBodyDeclarations: . ';'
  417                     | . ';' ClassBodyDeclarationList

    Identifier  shift, and go to state 121
    ';'         shift, and go to state 123
    '@'         shift, and go to state 50
    '}'         shift, and go to state 432

    Annotations           go to state 125
    Annotation            go to state 126
    EnumConstant          go to state 433
    EnumBodyDeclarations  go to state 434


State 258

  402 EnumBody: '{' EnumConstants '}' .

    $default  reduce using rule 402 (EnumBody)


State 259

  403 EnumBody: '{' EnumConstants EnumBodyDeclarations . '}'

    '}'  shift, and go to state 435


State 260

  399 EnumBody: '{' EnumBodyDeclarations '}' .

    $default  reduce using rule 399 (EnumBody)


State 261

   46 NormalInterfaceDeclaration: "interface" Identifier "extends" TypeList InterfaceBody .

    $default  reduce using rule 46 (NormalInterfaceDeclaration)


State 262

  153 InterfaceMemberDecl: "void" Identifier . VoidInterfaceMethodDeclaratorRest
  171 VoidInterfaceMethodDeclaratorRest: . FormalParameters ';'
  172                                  | . FormalParameters "throws" QualifiedIdentifierList ';'
  175 FormalParameters: . '(' ')'
  176                 | . '(' FormalParameterDecls ')'

    '('  shift, and go to state 202

    VoidInterfaceMethodDeclaratorRest  go to state 436
    FormalParameters                   go to state 437


State 263

  157 InterfaceMethodOrFieldDecl: Type Identifier . InterfaceMethodOrFieldRest
  158 InterfaceMethodOrFieldRest: . ConstantDeclaratorsRest ';'
  159                           | . InterfaceMethodDeclaratorRest
  160 ConstantDeclaratorsRest: . ConstantDeclaratorRest
  161                        | . ConstantDeclaratorRest ConstantDeclaratorList
  162 ConstantDeclaratorRest: . '=' VariableInitializer
  163                       | . ArrayDesignatorList '=' VariableInitializer
  167 InterfaceMethodDeclaratorRest: . FormalParameters ';'
  168                              | . FormalParameters "throws" QualifiedIdentifierList ';'
  169                              | . FormalParameters ArrayDesignatorList ';'
  170                              | . FormalParameters ArrayDesignatorList "throws" QualifiedIdentifierList ';'
  175 FormalParameters: . '(' ')'
  176                 | . '(' FormalParameterDecls ')'
  467 ArrayDesignatorList: . '[' ']'
  468                    | . ArrayDesignatorList '[' ']'

    '('  shift, and go to state 202
    '='  shift, and go to state 438
    '['  shift, and go to state 196

    InterfaceMethodOrFieldRest     go to state 439
    ConstantDeclaratorsRest        go to state 440
    ConstantDeclaratorRest         go to state 441
    InterfaceMethodDeclaratorRest  go to state 442
    FormalParameters               go to state 443
    ArrayDesignatorList            go to state 444


State 264

  173 InterfaceGenericMethodDecl: TypeParameters "void" . Identifier VoidInterfaceMethodDeclaratorRest

    Identifier  shift, and go to state 445


State 265

  174 InterfaceGenericMethodDecl: TypeParameters Type . Identifier InterfaceMethodDeclaratorRest

    Identifier  shift, and go to state 446


State 266

  148 InterfaceBody: '{' InterfaceBodyDeclarationList '}' .

    $default  reduce using rule 148 (InterfaceBody)


State 267

  448 InterfaceBodyDeclarationList: InterfaceBodyDeclarationList InterfaceBodyDeclaration .

    $default  reduce using rule 448 (InterfaceBodyDeclarationList)


State 268

  151 InterfaceBodyDeclaration: ModifierList InterfaceMemberDecl .

    $default  reduce using rule 151 (InterfaceBodyDeclaration)


State 269

   48 NormalInterfaceDeclaration: "interface" Identifier TypeParameters "extends" TypeList . InterfaceBody
   73 TypeList: TypeList . ',' ReferenceType
  147 InterfaceBody: . '{' '}'
  148              | . '{' InterfaceBodyDeclarationList '}'

    ','  shift, and go to state 192
    '{'  shift, and go to state 69

    InterfaceBody  go to state 447


State 270

  418 AnnotationTypeBody: '{' '}' .

    $default  reduce using rule 418 (AnnotationTypeBody)


State 271

  425 AnnotationTypeElementRest: ClassDeclaration .

    $default  reduce using rule 425 (AnnotationTypeElementRest)


State 272

  426 AnnotationTypeElementRest: InterfaceDeclaration .

    $default  reduce using rule 426 (AnnotationTypeElementRest)


State 273

  424 AnnotationTypeElementRest: Type . Identifier AnnotationMethodOrConstantRest ';'

    Identifier  shift, and go to state 448


State 274

   31 ClassDeclaration: . NormalClassDeclaration
   32                 | . EnumDeclaration
   33 InterfaceDeclaration: . NormalInterfaceDeclaration
   34                     | . AnnotationTypeDeclaration
   35 NormalClassDeclaration: . "class" Identifier ClassBody
   36                       | . "class" Identifier "implements" TypeList ClassBody
   37                       | . "class" Identifier "extends" Type ClassBody
   38                       | . "class" Identifier "extends" Type "implements" TypeList ClassBody
   39                       | . "class" Identifier TypeParameters ClassBody
   40                       | . "class" Identifier TypeParameters "implements" TypeList ClassBody
   41                       | . "class" Identifier TypeParameters "extends" Type ClassBody
   42                       | . "class" Identifier TypeParameters "extends" Type "implements" TypeList ClassBody
   43 EnumDeclaration: . "enum" Identifier EnumBody
   44                | . "enum" Identifier "implements" TypeList EnumBody
   45 NormalInterfaceDeclaration: . "interface" Identifier InterfaceBody
   46                           | . "interface" Identifier "extends" TypeList InterfaceBody
   47                           | . "interface" Identifier TypeParameters InterfaceBody
   48                           | . "interface" Identifier TypeParameters "extends" TypeList InterfaceBody
   49 AnnotationTypeDeclaration: . '@' "interface" Identifier AnnotationTypeBody
   50 Type: . BasicType
   51     | . BasicType ArrayDesignatorList
   52     | . ReferenceType
   53     | . ReferenceType ArrayDesignatorList
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   83 Modifier: . Annotation
   84         | . "public"
   85         | . "protected"
   86         | . "private"
   87         | . "static"
   88         | . "abstract"
   89         | . "final"
   90         | . "native"
   91         | . "synchronized"
   92         | . "transient"
   93         | . "volatile"
   94         | . "strictfp"
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  419 AnnotationTypeBody: '{' AnnotationTypeElementDeclarations . '}'
  421 AnnotationTypeElementDeclarations: AnnotationTypeElementDeclarations . AnnotationTypeElementDeclaration
  422 AnnotationTypeElementDeclaration: . AnnotationTypeElementRest
  423                                 | . ModifierList BOGUS AnnotationTypeElementRest
  424 AnnotationTypeElementRest: . Type Identifier AnnotationMethodOrConstantRest ';'
  425                          | . ClassDeclaration
  426                          | . InterfaceDeclaration
  455 ModifierList: . Modifier
  456             | . ModifierList BOGUS Modifier

    Identifier      shift, and go to state 83
    "static"        shift, and go to state 4
    "class"         shift, and go to state 5
    "enum"          shift, and go to state 6
    "interface"     shift, and go to state 7
    '@'             shift, and go to state 8
    "byte"          shift, and go to state 86
    "short"         shift, and go to state 87
    "char"          shift, and go to state 88
    "int"           shift, and go to state 89
    "long"          shift, and go to state 90
    "float"         shift, and go to state 91
    "double"        shift, and go to state 92
    "boolean"       shift, and go to state 93
    "public"        shift, and go to state 9
    "protected"     shift, and go to state 10
    "private"       shift, and go to state 11
    "abstract"      shift, and go to state 12
    "final"         shift, and go to state 13
    "native"        shift, and go to state 14
    "synchronized"  shift, and go to state 15
    "transient"     shift, and go to state 16
    "volatile"      shift, and go to state 17
    "strictfp"      shift, and go to state 18
    '}'             shift, and go to state 449

    ClassDeclaration                  go to state 271
    InterfaceDeclaration              go to state 272
    NormalClassDeclaration            go to state 27
    EnumDeclaration                   go to state 28
    NormalInterfaceDeclaration        go to state 29
    AnnotationTypeDeclaration         go to state 30
    Type                              go to state 273
    BasicType                         go to state 95
    ReferenceType                     go to state 96
    Modifier                          go to state 31
    Annotation                        go to state 47
    AnnotationTypeElementDeclaration  go to state 450
    AnnotationTypeElementRest         go to state 276
    ModifierList                      go to state 277


State 275

  420 AnnotationTypeElementDeclarations: AnnotationTypeElementDeclaration .

    $default  reduce using rule 420 (AnnotationTypeElementDeclarations)


State 276

  422 AnnotationTypeElementDeclaration: AnnotationTypeElementRest .

    $default  reduce using rule 422 (AnnotationTypeElementDeclaration)


State 277

  423 AnnotationTypeElementDeclaration: ModifierList . BOGUS AnnotationTypeElementRest
  456 ModifierList: ModifierList . BOGUS Modifier

    BOGUS  shift, and go to state 451


State 278

   71 NonWildcardTypeArguments: . '<' TypeList '>'
  381 IdentifierSuffix: '.' . "new" InnerCreator
  382                 | '.' . "super" Arguments
  383                 | '.' . "this"
  384                 | '.' . ExplicitGenericInvocation
  385                 | '.' . "class"
  386                 | '.' . "new" NonWildcardTypeArguments InnerCreator
  387 ExplicitGenericInvocation: . NonWildcardTypeArguments ExplicitGenericInvocationSuffix

    "class"  shift, and go to state 452
    '<'      shift, and go to state 155
    "super"  shift, and go to state 453
    "this"   shift, and go to state 454
    "new"    shift, and go to state 455

    NonWildcardTypeArguments   go to state 456
    ExplicitGenericInvocation  go to state 457


State 279

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  104 ElementValuePair: Identifier '=' . ElementValue
  105 ElementValue: . Annotation
  106             | . Expression1
  107             | . ElementValueArrayInitializer
  108 ElementValueArrayInitializer: . '{' ElementValuesList '}'
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    '@'                   shift, and go to state 50
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    '{'                   shift, and go to state 159
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier           go to state 169
    BasicType                     go to state 170
    NonWildcardTypeArguments      go to state 171
    Annotation                    go to state 172
    ElementValue                  go to state 458
    ElementValueArrayInitializer  go to state 177
    Expression1                   go to state 178
    Expression2                   go to state 179
    Expression3                   go to state 180
    PrefixOp                      go to state 181
    Primary                       go to state 182
    Literal                       go to state 183
    ParExpression                 go to state 184


State 280

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'
  377 IdentifierSuffix: '[' . Expression ']'
  378                 | '[' . '.' "class" ']'
  379                 | '[' . ArrayDesignatorList '.' "class" ']'
  467 ArrayDesignatorList: . '[' ']'
  468                    | . ArrayDesignatorList '[' ']'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    '.'                   shift, and go to state 459
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168
    '['                   shift, and go to state 196

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Expression                go to state 460
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184
    ArrayDesignatorList       go to state 461


State 281

  380 IdentifierSuffix: Arguments .

    $default  reduce using rule 380 (IdentifierSuffix)


State 282

  341 Primary: Identifier IdentifierSuffix .

    $default  reduce using rule 341 (Primary)


State 283

   71 NonWildcardTypeArguments: '<' TypeList . '>'
   73 TypeList: TypeList . ',' ReferenceType

    ','  shift, and go to state 192
    '>'  shift, and go to state 462


State 284

  358 SuperSuffix: '.' . Identifier
  359            | '.' . Identifier Arguments

    Identifier  shift, and go to state 463


State 285

  357 SuperSuffix: Arguments .

    $default  reduce using rule 357 (SuperSuffix)


State 286

  337 Primary: "super" SuperSuffix .

    $default  reduce using rule 337 (Primary)


State 287

    1 QualifiedIdentifier: Identifier .  ['.', ',', ';', '*', '<', '>', '?', '&', '(', ')', '=', "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", "instanceof", "||", "&&", '|', '^', "==", "!=", "<=", ">=", "<<", ">>", ">>>", '+', '-', '/', '%', "++", "--", '[']
   62 ReferenceType: Identifier .  [Identifier, '.', ')', '[']
   63              | Identifier . TypeArguments
   66 TypeArguments: . '<' TypeArgumentList '>'
  341 Primary: Identifier . IdentifierSuffix
  354 Arguments: . '(' ')'
  355          | . '(' Expression ')'
  356          | . '(' Expression ExpressionList ')'
  377 IdentifierSuffix: . '[' Expression ']'
  378                 | . '[' '.' "class" ']'
  379                 | . '[' ArrayDesignatorList '.' "class" ']'
  380                 | . Arguments
  381                 | . '.' "new" InnerCreator
  382                 | . '.' "super" Arguments
  383                 | . '.' "this"
  384                 | . '.' ExplicitGenericInvocation
  385                 | . '.' "class"
  386                 | . '.' "new" NonWildcardTypeArguments InnerCreator

    '.'  shift, and go to state 278
    '<'  shift, and go to state 189
    '('  shift, and go to state 250
    '['  shift, and go to state 280

    Identifier  reduce using rule 62 (ReferenceType)
    '.'         [reduce using rule 1 (QualifiedIdentifier)]
    '.'         [reduce using rule 62 (ReferenceType)]
    '<'         [reduce using rule 1 (QualifiedIdentifier)]
    '('         [reduce using rule 1 (QualifiedIdentifier)]
    ')'         reduce using rule 1 (QualifiedIdentifier)
    ')'         [reduce using rule 62 (ReferenceType)]
    '['         [reduce using rule 1 (QualifiedIdentifier)]
    '['         [reduce using rule 62 (ReferenceType)]
    $default    reduce using rule 1 (QualifiedIdentifier)

    TypeArguments     go to state 190
    Arguments         go to state 281
    IdentifierSuffix  go to state 282


State 288

  319 Expression3: '(' Type . ')' Expression3

    ')'  shift, and go to state 464


State 289

  320 Expression3: '(' Expression . ')' Expression3
  353 ParExpression: '(' Expression . ')'

    ')'  shift, and go to state 465


State 290

    1 QualifiedIdentifier: Identifier .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, '.', ',', ';', '*', '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', '>', '?', "super", '&', '(', ')', '=', '{', '}', "void", ':', "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", "instanceof", "||", "&&", '|', '^', "==", "!=", "<=", ">=", "<<", ">>", ">>>", '+', '-', '/', '%', "++", "--", '!', '~', "this", "new", '[', ']']
  341 Primary: Identifier . IdentifierSuffix
  354 Arguments: . '(' ')'
  355          | . '(' Expression ')'
  356          | . '(' Expression ExpressionList ')'
  377 IdentifierSuffix: . '[' Expression ']'
  378                 | . '[' '.' "class" ']'
  379                 | . '[' ArrayDesignatorList '.' "class" ']'
  380                 | . Arguments
  381                 | . '.' "new" InnerCreator
  382                 | . '.' "super" Arguments
  383                 | . '.' "this"
  384                 | . '.' ExplicitGenericInvocation
  385                 | . '.' "class"
  386                 | . '.' "new" NonWildcardTypeArguments InnerCreator

    '.'  shift, and go to state 278
    '('  shift, and go to state 250
    '['  shift, and go to state 280

    '.'       [reduce using rule 1 (QualifiedIdentifier)]
    '('       [reduce using rule 1 (QualifiedIdentifier)]
    '['       [reduce using rule 1 (QualifiedIdentifier)]
    $default  reduce using rule 1 (QualifiedIdentifier)

    Arguments         go to state 281
    IdentifierSuffix  go to state 282


State 291

  459 ElementValuesList: ',' .

    $default  reduce using rule 459 (ElementValuesList)


State 292

  460 ElementValuesList: ElementValue .

    $default  reduce using rule 460 (ElementValuesList)


State 293

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  105 ElementValue: . Annotation
  106             | . Expression1
  107             | . ElementValueArrayInitializer
  108 ElementValueArrayInitializer: . '{' ElementValuesList '}'
  108                             | '{' ElementValuesList . '}'
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'
  461 ElementValuesList: ElementValuesList . ','
  462                  | ElementValuesList . ElementValue

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    ','                   shift, and go to state 466
    '@'                   shift, and go to state 50
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    '{'                   shift, and go to state 159
    '}'                   shift, and go to state 467
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier           go to state 169
    BasicType                     go to state 170
    NonWildcardTypeArguments      go to state 171
    Annotation                    go to state 172
    ElementValue                  go to state 468
    ElementValueArrayInitializer  go to state 177
    Expression1                   go to state 178
    Expression2                   go to state 179
    Expression3                   go to state 180
    PrefixOp                      go to state 181
    Primary                       go to state 182
    Literal                       go to state 183
    ParExpression                 go to state 184


State 294

  346 Primary: "void" '.' . "class"

    "class"  shift, and go to state 469


State 295

  336 Primary: "this" Arguments .

    $default  reduce using rule 336 (Primary)


State 296

   66 TypeArguments: . '<' TypeArgumentList '>'
   74 TypeArgumentsOrDiamond: . '<' '>'
   75                       | . TypeArguments
  365 CreatedName: Identifier .  ['(', '[']
  366            | Identifier . TypeArgumentsOrDiamond
  367            | Identifier . DiamondKindIdentifierList
  368            | Identifier . TypeArgumentsOrDiamond DiamondKindIdentifierList
  471 DiamondKindIdentifierList: . '.' Identifier
  472                          | . '.' Identifier TypeArgumentsOrDiamond
  473                          | . DiamondKindIdentifierList '.' Identifier
  474                          | . DiamondKindIdentifierList '.' Identifier TypeArgumentsOrDiamond

    '.'  shift, and go to state 470
    '<'  shift, and go to state 471

    $default  reduce using rule 365 (CreatedName)

    TypeArguments              go to state 472
    TypeArgumentsOrDiamond     go to state 473
    DiamondKindIdentifierList  go to state 474


State 297

  362 Creator: NonWildcardTypeArguments . CreatedName ClassCreatorRest
  365 CreatedName: . Identifier
  366            | . Identifier TypeArgumentsOrDiamond
  367            | . Identifier DiamondKindIdentifierList
  368            | . Identifier TypeArgumentsOrDiamond DiamondKindIdentifierList

    Identifier  shift, and go to state 296

    CreatedName  go to state 475


State 298

  338 Primary: "new" Creator .

    $default  reduce using rule 338 (Primary)


State 299

  354 Arguments: . '(' ')'
  355          | . '(' Expression ')'
  356          | . '(' Expression ExpressionList ')'
  363 Creator: CreatedName . ArrayCreatorRest
  364        | CreatedName . ClassCreatorRest
  369 ClassCreatorRest: . Arguments
  370                 | . Arguments ClassBody
  371 ArrayCreatorRest: . '[' Expression ']'
  372                 | . '[' ']' ArrayInitializer
  373                 | . '[' Expression ']' ArrayDesignatorList
  374                 | . '[' ']' ArrayDesignatorList ArrayInitializer
  375                 | . '[' Expression ']' SubscriptExpressionList
  376                 | . '[' Expression ']' SubscriptExpressionList ArrayDesignatorList

    '('  shift, and go to state 250
    '['  shift, and go to state 476

    Arguments         go to state 477
    ClassCreatorRest  go to state 478
    ArrayCreatorRest  go to state 479


State 300

    2 QualifiedIdentifier: QualifiedIdentifier '.' . Identifier
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  381 IdentifierSuffix: '.' . "new" InnerCreator
  382                 | '.' . "super" Arguments
  383                 | '.' . "this"
  384                 | '.' . ExplicitGenericInvocation
  385                 | '.' . "class"
  386                 | '.' . "new" NonWildcardTypeArguments InnerCreator
  387 ExplicitGenericInvocation: . NonWildcardTypeArguments ExplicitGenericInvocationSuffix

    Identifier  shift, and go to state 77
    "class"     shift, and go to state 452
    '<'         shift, and go to state 155
    "super"     shift, and go to state 453
    "this"      shift, and go to state 454
    "new"       shift, and go to state 455

    NonWildcardTypeArguments   go to state 456
    ExplicitGenericInvocation  go to state 457


State 301

  343 Primary: QualifiedIdentifier IdentifierSuffix .

    $default  reduce using rule 343 (Primary)


State 302

  344 Primary: BasicType '.' . "class"

    "class"  shift, and go to state 480


State 303

  345 Primary: BasicType ArrayDesignatorList . '.' "class"
  468 ArrayDesignatorList: ArrayDesignatorList . '[' ']'

    '.'  shift, and go to state 481
    '['  shift, and go to state 355


State 304

  354 Arguments: . '(' ')'
  355          | . '(' Expression ')'
  356          | . '(' Expression ExpressionList ')'
  361 ExplicitGenericInvocationSuffix: Identifier . Arguments

    '('  shift, and go to state 250

    Arguments  go to state 482


State 305

  354 Arguments: . '(' ')'
  355          | . '(' Expression ')'
  356          | . '(' Expression ExpressionList ')'
  357 SuperSuffix: . Arguments
  358            | . '.' Identifier
  359            | . '.' Identifier Arguments
  360 ExplicitGenericInvocationSuffix: "super" . SuperSuffix

    '.'  shift, and go to state 284
    '('  shift, and go to state 250

    Arguments    go to state 285
    SuperSuffix  go to state 483


State 306

  339 Primary: NonWildcardTypeArguments "this" . Arguments
  354 Arguments: . '(' ')'
  355          | . '(' Expression ')'
  356          | . '(' Expression ExpressionList ')'

    '('  shift, and go to state 250

    Arguments  go to state 484


State 307

  340 Primary: NonWildcardTypeArguments ExplicitGenericInvocationSuffix .

    $default  reduce using rule 340 (Primary)


State 308

   99 Annotation: '@' QualifiedIdentifier '(' AnnotationElement ')' .

    $default  reduce using rule 99 (Annotation)


State 309

  103 ElementValuePairs: ElementValuePairs ',' . ElementValuePair
  104 ElementValuePair: . Identifier '=' ElementValue

    Identifier  shift, and go to state 485

    ElementValuePair  go to state 486


State 310

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  294 Expression1Rest: '?' . Expression ':' Expression1
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Expression                go to state 487
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 311

  293 Expression1: Expression2 Expression1Rest .

    $default  reduce using rule 293 (Expression1)


State 312

  315 InfixOp: '*' .

    $default  reduce using rule 315 (InfixOp)


State 313

  306 InfixOp: '<' .

    $default  reduce using rule 306 (InfixOp)


State 314

  307 InfixOp: '>' .

    $default  reduce using rule 307 (InfixOp)


State 315

  303 InfixOp: '&' .

    $default  reduce using rule 303 (InfixOp)


State 316

   50 Type: . BasicType
   51     | . BasicType ArrayDesignatorList
   52     | . ReferenceType
   53     | . ReferenceType ArrayDesignatorList
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
  298 Expression2Rest: "instanceof" . Type

    Identifier  shift, and go to state 83
    "byte"      shift, and go to state 86
    "short"     shift, and go to state 87
    "char"      shift, and go to state 88
    "int"       shift, and go to state 89
    "long"      shift, and go to state 90
    "float"     shift, and go to state 91
    "double"    shift, and go to state 92
    "boolean"   shift, and go to state 93

    Type           go to state 488
    BasicType      go to state 95
    ReferenceType  go to state 96


State 317

  299 InfixOp: "||" .

    $default  reduce using rule 299 (InfixOp)


State 318

  300 InfixOp: "&&" .

    $default  reduce using rule 300 (InfixOp)


State 319

  301 InfixOp: '|' .

    $default  reduce using rule 301 (InfixOp)


State 320

  302 InfixOp: '^' .

    $default  reduce using rule 302 (InfixOp)


State 321

  304 InfixOp: "==" .

    $default  reduce using rule 304 (InfixOp)


State 322

  305 InfixOp: "!=" .

    $default  reduce using rule 305 (InfixOp)


State 323

  308 InfixOp: "<=" .

    $default  reduce using rule 308 (InfixOp)


State 324

  309 InfixOp: ">=" .

    $default  reduce using rule 309 (InfixOp)


State 325

  310 InfixOp: "<<" .

    $default  reduce using rule 310 (InfixOp)


State 326

  311 InfixOp: ">>" .

    $default  reduce using rule 311 (InfixOp)


State 327

  312 InfixOp: ">>>" .

    $default  reduce using rule 312 (InfixOp)


State 328

  313 InfixOp: '+' .

    $default  reduce using rule 313 (InfixOp)


State 329

  314 InfixOp: '-' .

    $default  reduce using rule 314 (InfixOp)


State 330

  316 InfixOp: '/' .

    $default  reduce using rule 316 (InfixOp)


State 331

  317 InfixOp: '%' .

    $default  reduce using rule 317 (InfixOp)


State 332

  296 Expression2: Expression3 Expression2Rest .

    $default  reduce using rule 296 (Expression2)


State 333

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'
  469 InfixOpExpression3List: InfixOp . Expression3

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Expression3               go to state 489
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 334

  297 Expression2Rest: InfixOpExpression3List .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, ',', ';', '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', '?', "super", '(', ')', '=', '{', '}', "void", ':', "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", '+', '-', "++", "--", '!', '~', "this", "new", ']']
  299 InfixOp: . "||"
  300        | . "&&"
  301        | . '|'
  302        | . '^'
  303        | . '&'
  304        | . "=="
  305        | . "!="
  306        | . '<'
  307        | . '>'
  308        | . "<="
  309        | . ">="
  310        | . "<<"
  311        | . ">>"
  312        | . ">>>"
  313        | . '+'
  314        | . '-'
  315        | . '*'
  316        | . '/'
  317        | . '%'
  470 InfixOpExpression3List: InfixOpExpression3List . InfixOp Expression3

    '*'    shift, and go to state 312
    '<'    shift, and go to state 313
    '>'    shift, and go to state 314
    '&'    shift, and go to state 315
    "||"   shift, and go to state 317
    "&&"   shift, and go to state 318
    '|'    shift, and go to state 319
    '^'    shift, and go to state 320
    "=="   shift, and go to state 321
    "!="   shift, and go to state 322
    "<="   shift, and go to state 323
    ">="   shift, and go to state 324
    "<<"   shift, and go to state 325
    ">>"   shift, and go to state 326
    ">>>"  shift, and go to state 327
    '+'    shift, and go to state 328
    '-'    shift, and go to state 329
    '/'    shift, and go to state 330
    '%'    shift, and go to state 331

    '<'       [reduce using rule 297 (Expression2Rest)]
    '+'       [reduce using rule 297 (Expression2Rest)]
    '-'       [reduce using rule 297 (Expression2Rest)]
    $default  reduce using rule 297 (Expression2Rest)

    InfixOp  go to state 490


State 335

  318 Expression3: PrefixOp Expression3 .

    $default  reduce using rule 318 (Expression3)


State 336

   71 NonWildcardTypeArguments: . '<' TypeList '>'
  387 ExplicitGenericInvocation: . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  390 Selector: '.' . Identifier
  391         | '.' . Identifier Arguments
  392         | '.' . ExplicitGenericInvocation
  393         | '.' . "this"
  394         | '.' . "super" SuperSuffix
  395         | '.' . "new" InnerCreator
  396         | '.' . "new" NonWildcardTypeArguments InnerCreator

    Identifier  shift, and go to state 491
    '<'         shift, and go to state 155
    "super"     shift, and go to state 492
    "this"      shift, and go to state 493
    "new"       shift, and go to state 494

    NonWildcardTypeArguments   go to state 456
    ExplicitGenericInvocation  go to state 495


State 337

  331 PostfixOp: "++" .

    $default  reduce using rule 331 (PostfixOp)


State 338

  332 PostfixOp: "--" .

    $default  reduce using rule 332 (PostfixOp)


State 339

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'
  397 Selector: '[' . Expression ']'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Expression                go to state 496
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 340

  433 PostfixOpList: PostfixOp .

    $default  reduce using rule 433 (PostfixOpList)


State 341

  451 SelectorList: Selector .

    $default  reduce using rule 451 (SelectorList)


State 342

  323 Expression3: Primary PostfixOpList .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, ',', ';', '*', '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', '>', '?', "super", '&', '(', ')', '=', '{', '}', "void", ':', "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", "instanceof", "||", "&&", '|', '^', "==", "!=", "<=", ">=", "<<", ">>", ">>>", '+', '-', '/', '%', "++", "--", '!', '~', "this", "new", ']']
  331 PostfixOp: . "++"
  332          | . "--"
  434 PostfixOpList: PostfixOpList . PostfixOp

    "++"  shift, and go to state 337
    "--"  shift, and go to state 338

    "++"      [reduce using rule 323 (Expression3)]
    "--"      [reduce using rule 323 (Expression3)]
    $default  reduce using rule 323 (Expression3)

    PostfixOp  go to state 497


State 343

  322 Expression3: Primary SelectorList .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, ',', ';', '*', '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', '>', '?', "super", '&', '(', ')', '=', '{', '}', "void", ':', "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", "instanceof", "||", "&&", '|', '^', "==", "!=", "<=", ">=", "<<", ">>", ">>>", '+', '-', '/', '%', "++", "--", '!', '~', "this", "new", ']']
  324            | Primary SelectorList . PostfixOpList
  331 PostfixOp: . "++"
  332          | . "--"
  390 Selector: . '.' Identifier
  391         | . '.' Identifier Arguments
  392         | . '.' ExplicitGenericInvocation
  393         | . '.' "this"
  394         | . '.' "super" SuperSuffix
  395         | . '.' "new" InnerCreator
  396         | . '.' "new" NonWildcardTypeArguments InnerCreator
  397         | . '[' Expression ']'
  433 PostfixOpList: . PostfixOp
  434              | . PostfixOpList PostfixOp
  452 SelectorList: SelectorList . Selector

    '.'   shift, and go to state 336
    "++"  shift, and go to state 337
    "--"  shift, and go to state 338
    '['   shift, and go to state 339

    "++"      [reduce using rule 322 (Expression3)]
    "--"      [reduce using rule 322 (Expression3)]
    $default  reduce using rule 322 (Expression3)

    PostfixOp      go to state 340
    Selector       go to state 498
    PostfixOpList  go to state 499


State 344

   11 CompilationUnit: Annotations "package" QualifiedIdentifier ';' ImportDeclarationList .  ["end of file"]
   13                | Annotations "package" QualifiedIdentifier ';' ImportDeclarationList . TypeDeclarationList
   18 ImportDeclarationList: ImportDeclarationList . ImportDeclaration
   19 TypeDeclarationList: . TypeDeclaration
   20                    | . TypeDeclarationList TypeDeclaration
   21 ImportDeclaration: . "import" "static" QualifiedIdentifier '.' '*' ';'
   22                  | . "import" "static" QualifiedIdentifier ';'
   23                  | . "import" QualifiedIdentifier '.' '*' ';'
   24                  | . "import" QualifiedIdentifier ';'
   25 TypeDeclaration: . ClassOrInterfaceDeclaration
   26                | . ';'
   27 ClassOrInterfaceDeclaration: . InterfaceDeclaration
   28                            | . ClassDeclaration
   29                            | . ModifierList BOGUS InterfaceDeclaration
   30                            | . ModifierList ClassDeclaration
   31 ClassDeclaration: . NormalClassDeclaration
   32                 | . EnumDeclaration
   33 InterfaceDeclaration: . NormalInterfaceDeclaration
   34                     | . AnnotationTypeDeclaration
   35 NormalClassDeclaration: . "class" Identifier ClassBody
   36                       | . "class" Identifier "implements" TypeList ClassBody
   37                       | . "class" Identifier "extends" Type ClassBody
   38                       | . "class" Identifier "extends" Type "implements" TypeList ClassBody
   39                       | . "class" Identifier TypeParameters ClassBody
   40                       | . "class" Identifier TypeParameters "implements" TypeList ClassBody
   41                       | . "class" Identifier TypeParameters "extends" Type ClassBody
   42                       | . "class" Identifier TypeParameters "extends" Type "implements" TypeList ClassBody
   43 EnumDeclaration: . "enum" Identifier EnumBody
   44                | . "enum" Identifier "implements" TypeList EnumBody
   45 NormalInterfaceDeclaration: . "interface" Identifier InterfaceBody
   46                           | . "interface" Identifier "extends" TypeList InterfaceBody
   47                           | . "interface" Identifier TypeParameters InterfaceBody
   48                           | . "interface" Identifier TypeParameters "extends" TypeList InterfaceBody
   49 AnnotationTypeDeclaration: . '@' "interface" Identifier AnnotationTypeBody
   83 Modifier: . Annotation
   84         | . "public"
   85         | . "protected"
   86         | . "private"
   87         | . "static"
   88         | . "abstract"
   89         | . "final"
   90         | . "native"
   91         | . "synchronized"
   92         | . "transient"
   93         | . "volatile"
   94         | . "strictfp"
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  455 ModifierList: . Modifier
  456             | . ModifierList BOGUS Modifier

    ';'             shift, and go to state 2
    "import"        shift, and go to state 3
    "static"        shift, and go to state 4
    "class"         shift, and go to state 5
    "enum"          shift, and go to state 6
    "interface"     shift, and go to state 7
    '@'             shift, and go to state 8
    "public"        shift, and go to state 9
    "protected"     shift, and go to state 10
    "private"       shift, and go to state 11
    "abstract"      shift, and go to state 12
    "final"         shift, and go to state 13
    "native"        shift, and go to state 14
    "synchronized"  shift, and go to state 15
    "transient"     shift, and go to state 16
    "volatile"      shift, and go to state 17
    "strictfp"      shift, and go to state 18

    $default  reduce using rule 11 (CompilationUnit)

    TypeDeclarationList          go to state 500
    ImportDeclaration            go to state 46
    TypeDeclaration              go to state 23
    ClassOrInterfaceDeclaration  go to state 24
    ClassDeclaration             go to state 25
    InterfaceDeclaration         go to state 26
    NormalClassDeclaration       go to state 27
    EnumDeclaration              go to state 28
    NormalInterfaceDeclaration   go to state 29
    AnnotationTypeDeclaration    go to state 30
    Modifier                     go to state 31
    Annotation                   go to state 47
    ModifierList                 go to state 34


State 345

   15 CompilationUnit: Annotations "package" QualifiedIdentifier ';' TypeDeclarationList .  ["end of file"]
   20 TypeDeclarationList: TypeDeclarationList . TypeDeclaration
   25 TypeDeclaration: . ClassOrInterfaceDeclaration
   26                | . ';'
   27 ClassOrInterfaceDeclaration: . InterfaceDeclaration
   28                            | . ClassDeclaration
   29                            | . ModifierList BOGUS InterfaceDeclaration
   30                            | . ModifierList ClassDeclaration
   31 ClassDeclaration: . NormalClassDeclaration
   32                 | . EnumDeclaration
   33 InterfaceDeclaration: . NormalInterfaceDeclaration
   34                     | . AnnotationTypeDeclaration
   35 NormalClassDeclaration: . "class" Identifier ClassBody
   36                       | . "class" Identifier "implements" TypeList ClassBody
   37                       | . "class" Identifier "extends" Type ClassBody
   38                       | . "class" Identifier "extends" Type "implements" TypeList ClassBody
   39                       | . "class" Identifier TypeParameters ClassBody
   40                       | . "class" Identifier TypeParameters "implements" TypeList ClassBody
   41                       | . "class" Identifier TypeParameters "extends" Type ClassBody
   42                       | . "class" Identifier TypeParameters "extends" Type "implements" TypeList ClassBody
   43 EnumDeclaration: . "enum" Identifier EnumBody
   44                | . "enum" Identifier "implements" TypeList EnumBody
   45 NormalInterfaceDeclaration: . "interface" Identifier InterfaceBody
   46                           | . "interface" Identifier "extends" TypeList InterfaceBody
   47                           | . "interface" Identifier TypeParameters InterfaceBody
   48                           | . "interface" Identifier TypeParameters "extends" TypeList InterfaceBody
   49 AnnotationTypeDeclaration: . '@' "interface" Identifier AnnotationTypeBody
   83 Modifier: . Annotation
   84         | . "public"
   85         | . "protected"
   86         | . "private"
   87         | . "static"
   88         | . "abstract"
   89         | . "final"
   90         | . "native"
   91         | . "synchronized"
   92         | . "transient"
   93         | . "volatile"
   94         | . "strictfp"
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  455 ModifierList: . Modifier
  456             | . ModifierList BOGUS Modifier

    ';'             shift, and go to state 2
    "static"        shift, and go to state 4
    "class"         shift, and go to state 5
    "enum"          shift, and go to state 6
    "interface"     shift, and go to state 7
    '@'             shift, and go to state 8
    "public"        shift, and go to state 9
    "protected"     shift, and go to state 10
    "private"       shift, and go to state 11
    "abstract"      shift, and go to state 12
    "final"         shift, and go to state 13
    "native"        shift, and go to state 14
    "synchronized"  shift, and go to state 15
    "transient"     shift, and go to state 16
    "volatile"      shift, and go to state 17
    "strictfp"      shift, and go to state 18

    $default  reduce using rule 15 (CompilationUnit)

    TypeDeclaration              go to state 48
    ClassOrInterfaceDeclaration  go to state 24
    ClassDeclaration             go to state 25
    InterfaceDeclaration         go to state 26
    NormalClassDeclaration       go to state 27
    EnumDeclaration              go to state 28
    NormalInterfaceDeclaration   go to state 29
    AnnotationTypeDeclaration    go to state 30
    Modifier                     go to state 31
    Annotation                   go to state 47
    ModifierList                 go to state 34


State 346

   21 ImportDeclaration: "import" "static" QualifiedIdentifier '.' '*' ';' .

    $default  reduce using rule 21 (ImportDeclaration)


State 347

   68 TypeArgument: '?' .  [',', '>']
   69             | '?' . "super" ReferenceType
   70             | '?' . "extends" ReferenceType

    "extends"  shift, and go to state 501
    "super"    shift, and go to state 502

    $default  reduce using rule 68 (TypeArgument)


State 348

   64 ReferenceType: ReferenceType . '.' Identifier
   65              | ReferenceType . '.' Identifier TypeArguments
   67 TypeArgument: ReferenceType .  [',', '>']

    '.'  shift, and go to state 191

    $default  reduce using rule 67 (TypeArgument)


State 349

  445 TypeArgumentList: TypeArgument .

    $default  reduce using rule 445 (TypeArgumentList)


State 350

   66 TypeArguments: '<' TypeArgumentList . '>'
  446 TypeArgumentList: TypeArgumentList . ',' TypeArgument

    ','  shift, and go to state 503
    '>'  shift, and go to state 504


State 351

   64 ReferenceType: ReferenceType '.' Identifier .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, '.', ',', ';', "implements", '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', '>', '?', "super", '&', '(', ')', '=', '{', '}', "void", "...", ':', "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", '+', '-', "++", "--", '!', '~', "this", "new", '[', ']']
   65              | ReferenceType '.' Identifier . TypeArguments
   66 TypeArguments: . '<' TypeArgumentList '>'

    '<'  shift, and go to state 189

    '<'       [reduce using rule 64 (ReferenceType)]
    $default  reduce using rule 64 (ReferenceType)

    TypeArguments  go to state 505


State 352

   64 ReferenceType: ReferenceType . '.' Identifier
   65              | ReferenceType . '.' Identifier TypeArguments
   73 TypeList: TypeList ',' ReferenceType .  [',', '>', '{']

    '.'  shift, and go to state 191

    $default  reduce using rule 73 (TypeList)


State 353

   38 NormalClassDeclaration: "class" Identifier "extends" Type "implements" TypeList . ClassBody
   73 TypeList: TypeList . ',' ReferenceType
  109 ClassBody: . '{' '}'
  110          | . '{' ClassBodyDeclarationList '}'

    ','  shift, and go to state 192
    '{'  shift, and go to state 62

    ClassBody  go to state 506


State 354

  467 ArrayDesignatorList: '[' ']' .

    $default  reduce using rule 467 (ArrayDesignatorList)


State 355

  468 ArrayDesignatorList: ArrayDesignatorList '[' . ']'

    ']'  shift, and go to state 507


State 356

   64 ReferenceType: ReferenceType . '.' Identifier
   65              | ReferenceType . '.' Identifier TypeArguments
   81 Bound: ReferenceType .  [',', '>', '&']

    '.'  shift, and go to state 191

    $default  reduce using rule 81 (Bound)


State 357

   80 TypeParameter: Identifier "extends" Bound .  [',', '>']
   82 Bound: Bound . '&' ReferenceType

    '&'  shift, and go to state 508

    $default  reduce using rule 80 (TypeParameter)


State 358

  454 TypeParameterList: TypeParameterList ',' TypeParameter .

    $default  reduce using rule 454 (TypeParameterList)


State 359

  179 VariableModifier: "final" .

    $default  reduce using rule 179 (VariableModifier)


State 360

  175 FormalParameters: '(' ')' .

    $default  reduce using rule 175 (FormalParameters)


State 361

  177 FormalParameterDecls: Type . FormalParameterDeclsRest
  181 FormalParameterDeclsRest: . VariableDeclaratorId
  182                         | . VariableDeclaratorId ',' FormalParameterDecls
  183                         | . "..." VariableDeclaratorId
  184 VariableDeclaratorId: . Identifier
  185                     | . Identifier ArrayDesignatorList

    Identifier  shift, and go to state 509
    "..."       shift, and go to state 510

    FormalParameterDeclsRest  go to state 511
    VariableDeclaratorId      go to state 512


State 362

  180 VariableModifier: Annotation .

    $default  reduce using rule 180 (VariableModifier)


State 363

  176 FormalParameters: '(' FormalParameterDecls . ')'

    ')'  shift, and go to state 513


State 364

   50 Type: . BasicType
   51     | . BasicType ArrayDesignatorList
   52     | . ReferenceType
   53     | . ReferenceType ArrayDesignatorList
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  178 FormalParameterDecls: VariableModifierList . Type FormalParameterDeclsRest
  179 VariableModifier: . "final"
  180                 | . Annotation
  440 VariableModifierList: VariableModifierList . VariableModifier

    Identifier  shift, and go to state 83
    '@'         shift, and go to state 50
    "byte"      shift, and go to state 86
    "short"     shift, and go to state 87
    "char"      shift, and go to state 88
    "int"       shift, and go to state 89
    "long"      shift, and go to state 90
    "float"     shift, and go to state 91
    "double"    shift, and go to state 92
    "boolean"   shift, and go to state 93
    "final"     shift, and go to state 359

    Type              go to state 514
    BasicType         go to state 95
    ReferenceType     go to state 96
    Annotation        go to state 362
    VariableModifier  go to state 409


State 365

  141 ConstructorDeclaratorRest: FormalParameters API_ELISION . ';'

    ';'  shift, and go to state 515


State 366

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
    3 QualifiedIdentifierList: . QualifiedIdentifier
    4                        | . QualifiedIdentifierList ',' QualifiedIdentifier
  140 ConstructorDeclaratorRest: FormalParameters "throws" . QualifiedIdentifierList Block
  142                          | FormalParameters "throws" . QualifiedIdentifierList API_ELISION ';'

    Identifier  shift, and go to state 35

    QualifiedIdentifier      go to state 516
    QualifiedIdentifierList  go to state 517


State 367

  139 ConstructorDeclaratorRest: FormalParameters Block .

    $default  reduce using rule 139 (ConstructorDeclaratorRest)


State 368

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  200 Block: . '{' BlockStatements '}'
  206 BlockStatement: Identifier ':' . Statement
  209 Statement: . Block
  210          | . ';'
  211          | . Identifier ':' Statement
  211          | Identifier ':' . Statement
  212          | . StatementExpression ';'
  213          | . "if" ParExpression Statement
  214          | . "if" ParExpression Statement "else" Statement
  215          | . "assert" Expression ';'
  216          | . "assert" Expression ':' Expression ';'
  217          | . "switch" ParExpression '{' SwitchBlockStatementGroups '}'
  218          | . "while" ParExpression Statement
  219          | . "do" Statement "while" ParExpression ';'
  220          | . "for" '(' ForControl ')' Statement
  221          | . "break" ';'
  222          | . "break" Identifier ';'
  223          | . "continue" ';'
  224          | . "continue" Identifier ';'
  225          | . "return" ';'
  226          | . "return" Expression ';'
  227          | . "throw" Expression ';'
  228          | . "synchronized" ParExpression Block
  229          | . "try" Block Finally
  230          | . "try" Block Catches
  231          | . "try" Block Catches Finally
  232          | . "try" ResourceSpecification Block
  233          | . "try" ResourceSpecification Block Finally
  234          | . "try" ResourceSpecification Block Catches
  235          | . "try" ResourceSpecification Block Catches Finally
  236 StatementExpression: . Expression
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 375
    ';'                   shift, and go to state 207
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    "synchronized"        shift, and go to state 376
    '('                   shift, and go to state 157
    '{'                   shift, and go to state 103
    "void"                shift, and go to state 160
    "if"                  shift, and go to state 210
    "assert"              shift, and go to state 211
    "switch"              shift, and go to state 212
    "while"               shift, and go to state 213
    "do"                  shift, and go to state 214
    "for"                 shift, and go to state 215
    "break"               shift, and go to state 216
    "continue"            shift, and go to state 217
    "return"              shift, and go to state 218
    "throw"               shift, and go to state 219
    "try"                 shift, and go to state 220
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Block                     go to state 226
    Statement                 go to state 518
    StatementExpression       go to state 231
    Expression                go to state 232
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 369

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'
  353              | '(' . Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Expression                go to state 519
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 370

  200 Block: . '{' BlockStatements '}'
  228 Statement: "synchronized" ParExpression . Block

    '{'  shift, and go to state 103

    Block  go to state 520


State 371

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  200 Block: . '{' BlockStatements '}'
  209 Statement: . Block
  210          | . ';'
  211          | . Identifier ':' Statement
  212          | . StatementExpression ';'
  213          | . "if" ParExpression Statement
  213          | "if" ParExpression . Statement
  214          | . "if" ParExpression Statement "else" Statement
  214          | "if" ParExpression . Statement "else" Statement
  215          | . "assert" Expression ';'
  216          | . "assert" Expression ':' Expression ';'
  217          | . "switch" ParExpression '{' SwitchBlockStatementGroups '}'
  218          | . "while" ParExpression Statement
  219          | . "do" Statement "while" ParExpression ';'
  220          | . "for" '(' ForControl ')' Statement
  221          | . "break" ';'
  222          | . "break" Identifier ';'
  223          | . "continue" ';'
  224          | . "continue" Identifier ';'
  225          | . "return" ';'
  226          | . "return" Expression ';'
  227          | . "throw" Expression ';'
  228          | . "synchronized" ParExpression Block
  229          | . "try" Block Finally
  230          | . "try" Block Catches
  231          | . "try" Block Catches Finally
  232          | . "try" ResourceSpecification Block
  233          | . "try" ResourceSpecification Block Finally
  234          | . "try" ResourceSpecification Block Catches
  235          | . "try" ResourceSpecification Block Catches Finally
  236 StatementExpression: . Expression
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 375
    ';'                   shift, and go to state 207
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    "synchronized"        shift, and go to state 376
    '('                   shift, and go to state 157
    '{'                   shift, and go to state 103
    "void"                shift, and go to state 160
    "if"                  shift, and go to state 210
    "assert"              shift, and go to state 211
    "switch"              shift, and go to state 212
    "while"               shift, and go to state 213
    "do"                  shift, and go to state 214
    "for"                 shift, and go to state 215
    "break"               shift, and go to state 216
    "continue"            shift, and go to state 217
    "return"              shift, and go to state 218
    "throw"               shift, and go to state 219
    "try"                 shift, and go to state 220
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Block                     go to state 226
    Statement                 go to state 521
    StatementExpression       go to state 231
    Expression                go to state 232
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 372

  215 Statement: "assert" Expression . ';'
  216          | "assert" Expression . ':' Expression ';'

    ';'  shift, and go to state 522
    ':'  shift, and go to state 523


State 373

  217 Statement: "switch" ParExpression . '{' SwitchBlockStatementGroups '}'

    '{'  shift, and go to state 524


State 374

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  200 Block: . '{' BlockStatements '}'
  209 Statement: . Block
  210          | . ';'
  211          | . Identifier ':' Statement
  212          | . StatementExpression ';'
  213          | . "if" ParExpression Statement
  214          | . "if" ParExpression Statement "else" Statement
  215          | . "assert" Expression ';'
  216          | . "assert" Expression ':' Expression ';'
  217          | . "switch" ParExpression '{' SwitchBlockStatementGroups '}'
  218          | . "while" ParExpression Statement
  218          | "while" ParExpression . Statement
  219          | . "do" Statement "while" ParExpression ';'
  220          | . "for" '(' ForControl ')' Statement
  221          | . "break" ';'
  222          | . "break" Identifier ';'
  223          | . "continue" ';'
  224          | . "continue" Identifier ';'
  225          | . "return" ';'
  226          | . "return" Expression ';'
  227          | . "throw" Expression ';'
  228          | . "synchronized" ParExpression Block
  229          | . "try" Block Finally
  230          | . "try" Block Catches
  231          | . "try" Block Catches Finally
  232          | . "try" ResourceSpecification Block
  233          | . "try" ResourceSpecification Block Finally
  234          | . "try" ResourceSpecification Block Catches
  235          | . "try" ResourceSpecification Block Catches Finally
  236 StatementExpression: . Expression
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 375
    ';'                   shift, and go to state 207
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    "synchronized"        shift, and go to state 376
    '('                   shift, and go to state 157
    '{'                   shift, and go to state 103
    "void"                shift, and go to state 160
    "if"                  shift, and go to state 210
    "assert"              shift, and go to state 211
    "switch"              shift, and go to state 212
    "while"               shift, and go to state 213
    "do"                  shift, and go to state 214
    "for"                 shift, and go to state 215
    "break"               shift, and go to state 216
    "continue"            shift, and go to state 217
    "return"              shift, and go to state 218
    "throw"               shift, and go to state 219
    "try"                 shift, and go to state 220
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Block                     go to state 226
    Statement                 go to state 525
    StatementExpression       go to state 231
    Expression                go to state 232
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 375

    1 QualifiedIdentifier: Identifier .  ['.', ';', '*', '<', '>', '?', '&', '(', '=', "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", "instanceof", "||", "&&", '|', '^', "==", "!=", "<=", ">=", "<<", ">>", ">>>", '+', '-', '/', '%', "++", "--", '[']
  211 Statement: Identifier . ':' Statement
  341 Primary: Identifier . IdentifierSuffix
  354 Arguments: . '(' ')'
  355          | . '(' Expression ')'
  356          | . '(' Expression ExpressionList ')'
  377 IdentifierSuffix: . '[' Expression ']'
  378                 | . '[' '.' "class" ']'
  379                 | . '[' ArrayDesignatorList '.' "class" ']'
  380                 | . Arguments
  381                 | . '.' "new" InnerCreator
  382                 | . '.' "super" Arguments
  383                 | . '.' "this"
  384                 | . '.' ExplicitGenericInvocation
  385                 | . '.' "class"
  386                 | . '.' "new" NonWildcardTypeArguments InnerCreator

    '.'  shift, and go to state 278
    '('  shift, and go to state 250
    ':'  shift, and go to state 526
    '['  shift, and go to state 280

    '.'       [reduce using rule 1 (QualifiedIdentifier)]
    '('       [reduce using rule 1 (QualifiedIdentifier)]
    '['       [reduce using rule 1 (QualifiedIdentifier)]
    $default  reduce using rule 1 (QualifiedIdentifier)

    Arguments         go to state 281
    IdentifierSuffix  go to state 282


State 376

  228 Statement: "synchronized" . ParExpression Block
  353 ParExpression: . '(' Expression ')'

    '('  shift, and go to state 369

    ParExpression  go to state 370


State 377

  219 Statement: "do" Statement . "while" ParExpression ';'

    "while"  shift, and go to state 527


State 378

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   50 Type: . BasicType
   51     | . BasicType ArrayDesignatorList
   52     | . ReferenceType
   53     | . ReferenceType ArrayDesignatorList
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   71 NonWildcardTypeArguments: . '<' TypeList '>'
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  179 VariableModifier: . "final"
  180                 | . Annotation
  220 Statement: "for" '(' . ForControl ')' Statement
  236 StatementExpression: . Expression
  259 ForControl: . ForVarControl
  260           | . ForInit ';' ';'
  261           | . ForInit ';' ';' ForUpdate
  262           | . ForInit ';' Expression ';'
  263           | . ForInit ';' Expression ';' ForUpdate
  264 ForVarControl: . Type VariableDeclaratorId ForVarControlRest
  265              | . VariableModifierList Type VariableDeclaratorId ForVarControlRest
  275 ForInit: . ForUpdate
  276 ForUpdate: . StatementExpression
  277          | . ForUpdate ',' StatementExpression
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'
  439 VariableModifierList: . VariableModifier
  440                     | . VariableModifierList VariableModifier

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 287
    '@'                   shift, and go to state 50
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    "final"               shift, and go to state 359
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    Type                      go to state 528
    BasicType                 go to state 223
    ReferenceType             go to state 96
    NonWildcardTypeArguments  go to state 171
    Annotation                go to state 362
    VariableModifier          go to state 225
    StatementExpression       go to state 529
    ForControl                go to state 530
    ForVarControl             go to state 531
    ForInit                   go to state 532
    ForUpdate                 go to state 533
    Expression                go to state 232
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184
    VariableModifierList      go to state 534


State 379

  222 Statement: "break" Identifier . ';'

    ';'  shift, and go to state 535


State 380

  221 Statement: "break" ';' .

    $default  reduce using rule 221 (Statement)


State 381

  224 Statement: "continue" Identifier . ';'

    ';'  shift, and go to state 536


State 382

  223 Statement: "continue" ';' .

    $default  reduce using rule 223 (Statement)


State 383

  225 Statement: "return" ';' .

    $default  reduce using rule 225 (Statement)


State 384

  226 Statement: "return" Expression . ';'

    ';'  shift, and go to state 537


State 385

  227 Statement: "throw" Expression . ';'

    ';'  shift, and go to state 538


State 386

   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  179 VariableModifier: . "final"
  180                 | . Annotation
  244 ResourceSpecification: '(' . Resources ')'
  245                      | '(' . Resources ';' ')'
  246 Resources: . Resource
  247          | . Resources ';' Resource
  248 Resource: . ReferenceType VariableDeclaratorId '=' Expression
  249         | . VariableModifierList ReferenceType VariableDeclaratorId '=' Expression
  439 VariableModifierList: . VariableModifier
  440                     | . VariableModifierList VariableModifier

    Identifier  shift, and go to state 83
    '@'         shift, and go to state 50
    "final"     shift, and go to state 359

    ReferenceType         go to state 539
    Annotation            go to state 362
    VariableModifier      go to state 225
    Resources             go to state 540
    Resource              go to state 541
    VariableModifierList  go to state 542


State 387

  229 Statement: "try" Block . Finally
  230          | "try" Block . Catches
  231          | "try" Block . Catches Finally
  237 Catches: . CatchClause
  238        | . Catches CatchClause
  239 CatchClause: . "catch" '(' CatchType Identifier ')' Block
  240            | . "catch" '(' VariableModifierList CatchType Identifier ')' Block
  243 Finally: . "finally" Block

    "catch"    shift, and go to state 543
    "finally"  shift, and go to state 544

    Catches      go to state 545
    CatchClause  go to state 546
    Finally      go to state 547


State 388

  200 Block: . '{' BlockStatements '}'
  232 Statement: "try" ResourceSpecification . Block
  233          | "try" ResourceSpecification . Block Finally
  234          | "try" ResourceSpecification . Block Catches
  235          | "try" ResourceSpecification . Block Catches Finally

    '{'  shift, and go to state 103

    Block  go to state 548


State 389

  188 VariableDeclarator: Identifier . VariableDeclaratorRest
  189 VariableDeclaratorRest: . %empty  [',', ';']
  190                       | . '=' VariableInitializer
  191                       | . ArrayDesignatorList
  192                       | . ArrayDesignatorList '=' VariableInitializer
  467 ArrayDesignatorList: . '[' ']'
  468                    | . ArrayDesignatorList '[' ']'

    '='  shift, and go to state 413
    '['  shift, and go to state 196

    $default  reduce using rule 189 (VariableDeclaratorRest)

    VariableDeclaratorRest  go to state 549
    ArrayDesignatorList     go to state 419


State 390

  207 LocalVariableDeclarationStatement: Type VariableDeclarators . ';'

    ';'  shift, and go to state 550


State 391

  186 VariableDeclarators: VariableDeclarator .  [';']
  187                    | VariableDeclarator . VariableDeclaratorList
  441 VariableDeclaratorList: . ',' VariableDeclarator
  442                       | . VariableDeclaratorList ',' VariableDeclarator

    ','  shift, and go to state 551

    $default  reduce using rule 186 (VariableDeclarators)

    VariableDeclaratorList  go to state 552


State 392

   51 Type: BasicType ArrayDesignatorList .  [Identifier, ')']
  345 Primary: BasicType ArrayDesignatorList . '.' "class"
  468 ArrayDesignatorList: ArrayDesignatorList . '[' ']'

    '.'  shift, and go to state 481
    '['  shift, and go to state 355

    $default  reduce using rule 51 (Type)


State 393

  200 Block: '{' BlockStatements '}' .

    $default  reduce using rule 200 (Block)


State 394

  212 Statement: StatementExpression ';' .

    $default  reduce using rule 212 (Statement)


State 395

  280 AssignmentOperator: '=' .

    $default  reduce using rule 280 (AssignmentOperator)


State 396

  281 AssignmentOperator: "+=" .

    $default  reduce using rule 281 (AssignmentOperator)


State 397

  282 AssignmentOperator: "-=" .

    $default  reduce using rule 282 (AssignmentOperator)


State 398

  283 AssignmentOperator: "*=" .

    $default  reduce using rule 283 (AssignmentOperator)


State 399

  284 AssignmentOperator: "/=" .

    $default  reduce using rule 284 (AssignmentOperator)


State 400

  285 AssignmentOperator: "&=" .

    $default  reduce using rule 285 (AssignmentOperator)


State 401

  286 AssignmentOperator: "|=" .

    $default  reduce using rule 286 (AssignmentOperator)


State 402

  287 AssignmentOperator: "^=" .

    $default  reduce using rule 287 (AssignmentOperator)


State 403

  288 AssignmentOperator: "%=" .

    $default  reduce using rule 288 (AssignmentOperator)


State 404

  289 AssignmentOperator: "<<=" .

    $default  reduce using rule 289 (AssignmentOperator)


State 405

  290 AssignmentOperator: ">>=" .

    $default  reduce using rule 290 (AssignmentOperator)


State 406

  291 AssignmentOperator: ">>>=" .

    $default  reduce using rule 291 (AssignmentOperator)


State 407

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  279 Expression: Expression1 AssignmentOperator . Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Expression1               go to state 553
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 408

  186 VariableDeclarators: . VariableDeclarator
  187                    | . VariableDeclarator VariableDeclaratorList
  188 VariableDeclarator: . Identifier VariableDeclaratorRest
  208 LocalVariableDeclarationStatement: VariableModifierList Type . VariableDeclarators ';'

    Identifier  shift, and go to state 389

    VariableDeclarators  go to state 554
    VariableDeclarator   go to state 391


State 409

  440 VariableModifierList: VariableModifierList VariableModifier .

    $default  reduce using rule 440 (VariableModifierList)


State 410

  466 BlockStatementList: BlockStatementList BlockStatement .

    $default  reduce using rule 466 (BlockStatementList)


State 411

  117 MemberDecl: "void" Identifier VoidMethodDeclaratorRest .

    $default  reduce using rule 117 (MemberDecl)


State 412

  135 VoidMethodDeclaratorRest: FormalParameters . ';'
  136                         | FormalParameters . Block
  137                         | FormalParameters . "throws" QualifiedIdentifierList ';'
  138                         | FormalParameters . "throws" QualifiedIdentifierList Block
  200 Block: . '{' BlockStatements '}'

    ';'       shift, and go to state 555
    '{'       shift, and go to state 103
    "throws"  shift, and go to state 556

    Block  go to state 557


State 413

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  190 VariableDeclaratorRest: '=' . VariableInitializer
  193 VariableInitializer: . ArrayInitializer
  194                    | . Expression
  195 ArrayInitializer: . '{' '}'
  196                 | . '{' VariableInitializer '}'
  197                 | . '{' VariableInitializer ',' '}'
  198                 | . '{' VariableInitializer VariableInitializerList '}'
  199                 | . '{' VariableInitializer VariableInitializerList ',' '}'
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    '{'                   shift, and go to state 558
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    VariableInitializer       go to state 559
    ArrayInitializer          go to state 560
    Expression                go to state 561
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 414

  122 MethodOrFieldDecl: Type Identifier MethodOrFieldRest .

    $default  reduce using rule 122 (MethodOrFieldDecl)


State 415

  123 MethodOrFieldRest: FieldDeclaratorsRest . ';'

    ';'  shift, and go to state 562


State 416

  124 MethodOrFieldRest: MethodDeclaratorRest .

    $default  reduce using rule 124 (MethodOrFieldRest)


State 417

  127 MethodDeclaratorRest: FormalParameters . ';'
  128                     | FormalParameters . Block
  129                     | FormalParameters . "throws" QualifiedIdentifierList ';'
  130                     | FormalParameters . "throws" QualifiedIdentifierList Block
  131                     | FormalParameters . ArrayDesignatorList ';'
  132                     | FormalParameters . ArrayDesignatorList Block
  133                     | FormalParameters . ArrayDesignatorList "throws" QualifiedIdentifierList ';'
  134                     | FormalParameters . ArrayDesignatorList "throws" QualifiedIdentifierList Block
  200 Block: . '{' BlockStatements '}'
  467 ArrayDesignatorList: . '[' ']'
  468                    | . ArrayDesignatorList '[' ']'

    ';'       shift, and go to state 563
    '{'       shift, and go to state 103
    "throws"  shift, and go to state 564
    '['       shift, and go to state 196

    Block                go to state 565
    ArrayDesignatorList  go to state 566


State 418

  125 FieldDeclaratorsRest: VariableDeclaratorRest .  [';']
  126                     | VariableDeclaratorRest . VariableDeclaratorList
  441 VariableDeclaratorList: . ',' VariableDeclarator
  442                       | . VariableDeclaratorList ',' VariableDeclarator

    ','  shift, and go to state 551

    $default  reduce using rule 125 (FieldDeclaratorsRest)

    VariableDeclaratorList  go to state 567


State 419

  191 VariableDeclaratorRest: ArrayDesignatorList .  [',', ';']
  192                       | ArrayDesignatorList . '=' VariableInitializer
  468 ArrayDesignatorList: ArrayDesignatorList . '[' ']'

    '='  shift, and go to state 568
    '['  shift, and go to state 355

    $default  reduce using rule 191 (VariableDeclaratorRest)


State 420

  146 GenericMethodOrConstructorRest: Identifier ConstructorDeclaratorRest .

    $default  reduce using rule 146 (GenericMethodOrConstructorRest)


State 421

  135 VoidMethodDeclaratorRest: . FormalParameters ';'
  136                         | . FormalParameters Block
  137                         | . FormalParameters "throws" QualifiedIdentifierList ';'
  138                         | . FormalParameters "throws" QualifiedIdentifierList Block
  144 GenericMethodOrConstructorRest: "void" Identifier . VoidMethodDeclaratorRest
  175 FormalParameters: . '(' ')'
  176                 | . '(' FormalParameterDecls ')'

    '('  shift, and go to state 202

    VoidMethodDeclaratorRest  go to state 569
    FormalParameters          go to state 412


State 422

  127 MethodDeclaratorRest: . FormalParameters ';'
  128                     | . FormalParameters Block
  129                     | . FormalParameters "throws" QualifiedIdentifierList ';'
  130                     | . FormalParameters "throws" QualifiedIdentifierList Block
  131                     | . FormalParameters ArrayDesignatorList ';'
  132                     | . FormalParameters ArrayDesignatorList Block
  133                     | . FormalParameters ArrayDesignatorList "throws" QualifiedIdentifierList ';'
  134                     | . FormalParameters ArrayDesignatorList "throws" QualifiedIdentifierList Block
  145 GenericMethodOrConstructorRest: Type Identifier . MethodDeclaratorRest
  175 FormalParameters: . '(' ')'
  176                 | . '(' FormalParameterDecls ')'

    '('  shift, and go to state 202

    MethodDeclaratorRest  go to state 570
    FormalParameters      go to state 417


State 423

   40 NormalClassDeclaration: "class" Identifier TypeParameters "implements" TypeList ClassBody .

    $default  reduce using rule 40 (NormalClassDeclaration)


State 424

   42 NormalClassDeclaration: "class" Identifier TypeParameters "extends" Type "implements" . TypeList ClassBody
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   72 TypeList: . ReferenceType
   73         | . TypeList ',' ReferenceType

    Identifier  shift, and go to state 83

    ReferenceType  go to state 84
    TypeList       go to state 571


State 425

   41 NormalClassDeclaration: "class" Identifier TypeParameters "extends" Type ClassBody .

    $default  reduce using rule 41 (NormalClassDeclaration)


State 426

  354 Arguments: '(' ')' .

    $default  reduce using rule 354 (Arguments)


State 427

  355 Arguments: '(' Expression . ')'
  356          | '(' Expression . ExpressionList ')'
  449 ExpressionList: . ',' Expression
  450               | . ExpressionList ',' Expression

    ','  shift, and go to state 572
    ')'  shift, and go to state 573

    ExpressionList  go to state 574


State 428

  411 EnumConstant: Identifier Arguments ClassBody .

    $default  reduce using rule 411 (EnumConstant)


State 429

  401 EnumBody: '{' ',' EnumBodyDeclarations '}' .

    $default  reduce using rule 401 (EnumBody)


State 430

  413 EnumConstant: Annotations Identifier ClassBody .

    $default  reduce using rule 413 (EnumConstant)


State 431

  109 ClassBody: . '{' '}'
  110          | . '{' ClassBodyDeclarationList '}'
  414 EnumConstant: Annotations Identifier Arguments .  [',', ';', '}']
  415             | Annotations Identifier Arguments . ClassBody

    '{'  shift, and go to state 62

    $default  reduce using rule 414 (EnumConstant)

    ClassBody  go to state 575


State 432

  404 EnumBody: '{' EnumConstants ',' '}' .

    $default  reduce using rule 404 (EnumBody)


State 433

  407 EnumConstants: EnumConstants ',' EnumConstant .

    $default  reduce using rule 407 (EnumConstants)


State 434

  405 EnumBody: '{' EnumConstants ',' EnumBodyDeclarations . '}'

    '}'  shift, and go to state 576


State 435

  403 EnumBody: '{' EnumConstants EnumBodyDeclarations '}' .

    $default  reduce using rule 403 (EnumBody)


State 436

  153 InterfaceMemberDecl: "void" Identifier VoidInterfaceMethodDeclaratorRest .

    $default  reduce using rule 153 (InterfaceMemberDecl)


State 437

  171 VoidInterfaceMethodDeclaratorRest: FormalParameters . ';'
  172                                  | FormalParameters . "throws" QualifiedIdentifierList ';'

    ';'       shift, and go to state 577
    "throws"  shift, and go to state 578


State 438

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  162 ConstantDeclaratorRest: '=' . VariableInitializer
  193 VariableInitializer: . ArrayInitializer
  194                    | . Expression
  195 ArrayInitializer: . '{' '}'
  196                 | . '{' VariableInitializer '}'
  197                 | . '{' VariableInitializer ',' '}'
  198                 | . '{' VariableInitializer VariableInitializerList '}'
  199                 | . '{' VariableInitializer VariableInitializerList ',' '}'
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    '{'                   shift, and go to state 558
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    VariableInitializer       go to state 579
    ArrayInitializer          go to state 560
    Expression                go to state 561
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 439

  157 InterfaceMethodOrFieldDecl: Type Identifier InterfaceMethodOrFieldRest .

    $default  reduce using rule 157 (InterfaceMethodOrFieldDecl)


State 440

  158 InterfaceMethodOrFieldRest: ConstantDeclaratorsRest . ';'

    ';'  shift, and go to state 580


State 441

  160 ConstantDeclaratorsRest: ConstantDeclaratorRest .  [';']
  161                        | ConstantDeclaratorRest . ConstantDeclaratorList
  164 ConstantDeclaratorList: . ',' ConstantDeclarator
  165                       | . ConstantDeclaratorList ',' ConstantDeclarator

    ','  shift, and go to state 581

    $default  reduce using rule 160 (ConstantDeclaratorsRest)

    ConstantDeclaratorList  go to state 582


State 442

  159 InterfaceMethodOrFieldRest: InterfaceMethodDeclaratorRest .

    $default  reduce using rule 159 (InterfaceMethodOrFieldRest)


State 443

  167 InterfaceMethodDeclaratorRest: FormalParameters . ';'
  168                              | FormalParameters . "throws" QualifiedIdentifierList ';'
  169                              | FormalParameters . ArrayDesignatorList ';'
  170                              | FormalParameters . ArrayDesignatorList "throws" QualifiedIdentifierList ';'
  467 ArrayDesignatorList: . '[' ']'
  468                    | . ArrayDesignatorList '[' ']'

    ';'       shift, and go to state 583
    "throws"  shift, and go to state 584
    '['       shift, and go to state 196

    ArrayDesignatorList  go to state 585


State 444

  163 ConstantDeclaratorRest: ArrayDesignatorList . '=' VariableInitializer
  468 ArrayDesignatorList: ArrayDesignatorList . '[' ']'

    '='  shift, and go to state 586
    '['  shift, and go to state 355


State 445

  171 VoidInterfaceMethodDeclaratorRest: . FormalParameters ';'
  172                                  | . FormalParameters "throws" QualifiedIdentifierList ';'
  173 InterfaceGenericMethodDecl: TypeParameters "void" Identifier . VoidInterfaceMethodDeclaratorRest
  175 FormalParameters: . '(' ')'
  176                 | . '(' FormalParameterDecls ')'

    '('  shift, and go to state 202

    VoidInterfaceMethodDeclaratorRest  go to state 587
    FormalParameters                   go to state 437


State 446

  167 InterfaceMethodDeclaratorRest: . FormalParameters ';'
  168                              | . FormalParameters "throws" QualifiedIdentifierList ';'
  169                              | . FormalParameters ArrayDesignatorList ';'
  170                              | . FormalParameters ArrayDesignatorList "throws" QualifiedIdentifierList ';'
  174 InterfaceGenericMethodDecl: TypeParameters Type Identifier . InterfaceMethodDeclaratorRest
  175 FormalParameters: . '(' ')'
  176                 | . '(' FormalParameterDecls ')'

    '('  shift, and go to state 202

    InterfaceMethodDeclaratorRest  go to state 588
    FormalParameters               go to state 443


State 447

   48 NormalInterfaceDeclaration: "interface" Identifier TypeParameters "extends" TypeList InterfaceBody .

    $default  reduce using rule 48 (NormalInterfaceDeclaration)


State 448

  160 ConstantDeclaratorsRest: . ConstantDeclaratorRest
  161                        | . ConstantDeclaratorRest ConstantDeclaratorList
  162 ConstantDeclaratorRest: . '=' VariableInitializer
  163                       | . ArrayDesignatorList '=' VariableInitializer
  424 AnnotationTypeElementRest: Type Identifier . AnnotationMethodOrConstantRest ';'
  427 AnnotationMethodOrConstantRest: . AnnotationMethodRest
  428                               | . ConstantDeclaratorsRest
  429 AnnotationMethodRest: . '(' ')'
  430                     | . '(' ')' "default" ElementValue
  431                     | . '(' ')' '[' ']'
  432                     | . '(' ')' '[' ']' "default" ElementValue
  467 ArrayDesignatorList: . '[' ']'
  468                    | . ArrayDesignatorList '[' ']'

    '('  shift, and go to state 589
    '='  shift, and go to state 438
    '['  shift, and go to state 196

    ConstantDeclaratorsRest         go to state 590
    ConstantDeclaratorRest          go to state 441
    AnnotationMethodOrConstantRest  go to state 591
    AnnotationMethodRest            go to state 592
    ArrayDesignatorList             go to state 444


State 449

  419 AnnotationTypeBody: '{' AnnotationTypeElementDeclarations '}' .

    $default  reduce using rule 419 (AnnotationTypeBody)


State 450

  421 AnnotationTypeElementDeclarations: AnnotationTypeElementDeclarations AnnotationTypeElementDeclaration .

    $default  reduce using rule 421 (AnnotationTypeElementDeclarations)


State 451

   31 ClassDeclaration: . NormalClassDeclaration
   32                 | . EnumDeclaration
   33 InterfaceDeclaration: . NormalInterfaceDeclaration
   34                     | . AnnotationTypeDeclaration
   35 NormalClassDeclaration: . "class" Identifier ClassBody
   36                       | . "class" Identifier "implements" TypeList ClassBody
   37                       | . "class" Identifier "extends" Type ClassBody
   38                       | . "class" Identifier "extends" Type "implements" TypeList ClassBody
   39                       | . "class" Identifier TypeParameters ClassBody
   40                       | . "class" Identifier TypeParameters "implements" TypeList ClassBody
   41                       | . "class" Identifier TypeParameters "extends" Type ClassBody
   42                       | . "class" Identifier TypeParameters "extends" Type "implements" TypeList ClassBody
   43 EnumDeclaration: . "enum" Identifier EnumBody
   44                | . "enum" Identifier "implements" TypeList EnumBody
   45 NormalInterfaceDeclaration: . "interface" Identifier InterfaceBody
   46                           | . "interface" Identifier "extends" TypeList InterfaceBody
   47                           | . "interface" Identifier TypeParameters InterfaceBody
   48                           | . "interface" Identifier TypeParameters "extends" TypeList InterfaceBody
   49 AnnotationTypeDeclaration: . '@' "interface" Identifier AnnotationTypeBody
   50 Type: . BasicType
   51     | . BasicType ArrayDesignatorList
   52     | . ReferenceType
   53     | . ReferenceType ArrayDesignatorList
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   83 Modifier: . Annotation
   84         | . "public"
   85         | . "protected"
   86         | . "private"
   87         | . "static"
   88         | . "abstract"
   89         | . "final"
   90         | . "native"
   91         | . "synchronized"
   92         | . "transient"
   93         | . "volatile"
   94         | . "strictfp"
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  423 AnnotationTypeElementDeclaration: ModifierList BOGUS . AnnotationTypeElementRest
  424 AnnotationTypeElementRest: . Type Identifier AnnotationMethodOrConstantRest ';'
  425                          | . ClassDeclaration
  426                          | . InterfaceDeclaration
  456 ModifierList: ModifierList BOGUS . Modifier

    Identifier      shift, and go to state 83
    "static"        shift, and go to state 4
    "class"         shift, and go to state 5
    "enum"          shift, and go to state 6
    "interface"     shift, and go to state 7
    '@'             shift, and go to state 8
    "byte"          shift, and go to state 86
    "short"         shift, and go to state 87
    "char"          shift, and go to state 88
    "int"           shift, and go to state 89
    "long"          shift, and go to state 90
    "float"         shift, and go to state 91
    "double"        shift, and go to state 92
    "boolean"       shift, and go to state 93
    "public"        shift, and go to state 9
    "protected"     shift, and go to state 10
    "private"       shift, and go to state 11
    "abstract"      shift, and go to state 12
    "final"         shift, and go to state 13
    "native"        shift, and go to state 14
    "synchronized"  shift, and go to state 15
    "transient"     shift, and go to state 16
    "volatile"      shift, and go to state 17
    "strictfp"      shift, and go to state 18

    ClassDeclaration            go to state 271
    InterfaceDeclaration        go to state 272
    NormalClassDeclaration      go to state 27
    EnumDeclaration             go to state 28
    NormalInterfaceDeclaration  go to state 29
    AnnotationTypeDeclaration   go to state 30
    Type                        go to state 273
    BasicType                   go to state 95
    ReferenceType               go to state 96
    Modifier                    go to state 76
    Annotation                  go to state 47
    AnnotationTypeElementRest   go to state 593


State 452

  385 IdentifierSuffix: '.' "class" .

    $default  reduce using rule 385 (IdentifierSuffix)


State 453

  354 Arguments: . '(' ')'
  355          | . '(' Expression ')'
  356          | . '(' Expression ExpressionList ')'
  382 IdentifierSuffix: '.' "super" . Arguments

    '('  shift, and go to state 250

    Arguments  go to state 594


State 454

  383 IdentifierSuffix: '.' "this" .

    $default  reduce using rule 383 (IdentifierSuffix)


State 455

   71 NonWildcardTypeArguments: . '<' TypeList '>'
  381 IdentifierSuffix: '.' "new" . InnerCreator
  386                 | '.' "new" . NonWildcardTypeArguments InnerCreator
  388 InnerCreator: . Identifier ClassCreatorRest
  389             | . Identifier NonWildcardTypeArgumentsOrDiamond ClassCreatorRest

    Identifier  shift, and go to state 595
    '<'         shift, and go to state 155

    NonWildcardTypeArguments  go to state 596
    InnerCreator              go to state 597


State 456

  360 ExplicitGenericInvocationSuffix: . "super" SuperSuffix
  361                                | . Identifier Arguments
  387 ExplicitGenericInvocation: NonWildcardTypeArguments . ExplicitGenericInvocationSuffix

    Identifier  shift, and go to state 304
    "super"     shift, and go to state 305

    ExplicitGenericInvocationSuffix  go to state 598


State 457

  384 IdentifierSuffix: '.' ExplicitGenericInvocation .

    $default  reduce using rule 384 (IdentifierSuffix)


State 458

  104 ElementValuePair: Identifier '=' ElementValue .

    $default  reduce using rule 104 (ElementValuePair)


State 459

  378 IdentifierSuffix: '[' '.' . "class" ']'

    "class"  shift, and go to state 599


State 460

  377 IdentifierSuffix: '[' Expression . ']'

    ']'  shift, and go to state 600


State 461

  379 IdentifierSuffix: '[' ArrayDesignatorList . '.' "class" ']'
  468 ArrayDesignatorList: ArrayDesignatorList . '[' ']'

    '.'  shift, and go to state 601
    '['  shift, and go to state 355


State 462

   71 NonWildcardTypeArguments: '<' TypeList '>' .

    $default  reduce using rule 71 (NonWildcardTypeArguments)


State 463

  354 Arguments: . '(' ')'
  355          | . '(' Expression ')'
  356          | . '(' Expression ExpressionList ')'
  358 SuperSuffix: '.' Identifier .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, '.', ',', ';', '*', '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', '>', '?', "super", '&', '(', ')', '=', '{', '}', "void", ':', "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", "instanceof", "||", "&&", '|', '^', "==", "!=", "<=", ">=", "<<", ">>", ">>>", '+', '-', '/', '%', "++", "--", '!', '~', "this", "new", '[', ']']
  359            | '.' Identifier . Arguments

    '('  shift, and go to state 250

    '('       [reduce using rule 358 (SuperSuffix)]
    $default  reduce using rule 358 (SuperSuffix)

    Arguments  go to state 602


State 464

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  319            | '(' Type ')' . Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Expression3               go to state 603
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 465

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  320            | '(' Expression ')' . Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'
  353              | '(' Expression ')' .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, '.', ',', ';', '*', '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', '>', '?', "super", '&', '(', ')', '=', '{', '}', "void", ':', "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", "instanceof", "||", "&&", '|', '^', "==", "!=", "<=", ">=", "<<", ">>", ">>>", '+', '-', '/', '%', "++", "--", '!', '~', "this", "new", '[', ']']

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    BooleanLiteral        [reduce using rule 353 (ParExpression)]
    CharacterLiteral      [reduce using rule 353 (ParExpression)]
    FloatingPointLiteral  [reduce using rule 353 (ParExpression)]
    IntegerLiteral        [reduce using rule 353 (ParExpression)]
    NullLiteral           [reduce using rule 353 (ParExpression)]
    StringLiteral         [reduce using rule 353 (ParExpression)]
    Identifier            [reduce using rule 353 (ParExpression)]
    "byte"                [reduce using rule 353 (ParExpression)]
    "short"               [reduce using rule 353 (ParExpression)]
    "char"                [reduce using rule 353 (ParExpression)]
    "int"                 [reduce using rule 353 (ParExpression)]
    "long"                [reduce using rule 353 (ParExpression)]
    "float"               [reduce using rule 353 (ParExpression)]
    "double"              [reduce using rule 353 (ParExpression)]
    "boolean"             [reduce using rule 353 (ParExpression)]
    '<'                   [reduce using rule 353 (ParExpression)]
    "super"               [reduce using rule 353 (ParExpression)]
    '('                   [reduce using rule 353 (ParExpression)]
    "void"                [reduce using rule 353 (ParExpression)]
    '+'                   [reduce using rule 353 (ParExpression)]
    '-'                   [reduce using rule 353 (ParExpression)]
    "++"                  [reduce using rule 353 (ParExpression)]
    "--"                  [reduce using rule 353 (ParExpression)]
    '!'                   [reduce using rule 353 (ParExpression)]
    '~'                   [reduce using rule 353 (ParExpression)]
    "this"                [reduce using rule 353 (ParExpression)]
    "new"                 [reduce using rule 353 (ParExpression)]
    $default              reduce using rule 353 (ParExpression)

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Expression3               go to state 604
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 466

  461 ElementValuesList: ElementValuesList ',' .

    $default  reduce using rule 461 (ElementValuesList)


State 467

  108 ElementValueArrayInitializer: '{' ElementValuesList '}' .

    $default  reduce using rule 108 (ElementValueArrayInitializer)


State 468

  462 ElementValuesList: ElementValuesList ElementValue .

    $default  reduce using rule 462 (ElementValuesList)


State 469

  346 Primary: "void" '.' "class" .

    $default  reduce using rule 346 (Primary)


State 470

  471 DiamondKindIdentifierList: '.' . Identifier
  472                          | '.' . Identifier TypeArgumentsOrDiamond

    Identifier  shift, and go to state 605


State 471

   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   66 TypeArguments: '<' . TypeArgumentList '>'
   67 TypeArgument: . ReferenceType
   68             | . '?'
   69             | . '?' "super" ReferenceType
   70             | . '?' "extends" ReferenceType
   74 TypeArgumentsOrDiamond: '<' . '>'
  445 TypeArgumentList: . TypeArgument
  446                 | . TypeArgumentList ',' TypeArgument

    Identifier  shift, and go to state 83
    '>'         shift, and go to state 606
    '?'         shift, and go to state 347

    ReferenceType     go to state 348
    TypeArgument      go to state 349
    TypeArgumentList  go to state 350


State 472

   75 TypeArgumentsOrDiamond: TypeArguments .

    $default  reduce using rule 75 (TypeArgumentsOrDiamond)


State 473

  366 CreatedName: Identifier TypeArgumentsOrDiamond .  ['(', '[']
  368            | Identifier TypeArgumentsOrDiamond . DiamondKindIdentifierList
  471 DiamondKindIdentifierList: . '.' Identifier
  472                          | . '.' Identifier TypeArgumentsOrDiamond
  473                          | . DiamondKindIdentifierList '.' Identifier
  474                          | . DiamondKindIdentifierList '.' Identifier TypeArgumentsOrDiamond

    '.'  shift, and go to state 470

    $default  reduce using rule 366 (CreatedName)

    DiamondKindIdentifierList  go to state 607


State 474

  367 CreatedName: Identifier DiamondKindIdentifierList .  ['(', '[']
  473 DiamondKindIdentifierList: DiamondKindIdentifierList . '.' Identifier
  474                          | DiamondKindIdentifierList . '.' Identifier TypeArgumentsOrDiamond

    '.'  shift, and go to state 608

    $default  reduce using rule 367 (CreatedName)


State 475

  354 Arguments: . '(' ')'
  355          | . '(' Expression ')'
  356          | . '(' Expression ExpressionList ')'
  362 Creator: NonWildcardTypeArguments CreatedName . ClassCreatorRest
  369 ClassCreatorRest: . Arguments
  370                 | . Arguments ClassBody

    '('  shift, and go to state 250

    Arguments         go to state 477
    ClassCreatorRest  go to state 609


State 476

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'
  371 ArrayCreatorRest: '[' . Expression ']'
  372                 | '[' . ']' ArrayInitializer
  373                 | '[' . Expression ']' ArrayDesignatorList
  374                 | '[' . ']' ArrayDesignatorList ArrayInitializer
  375                 | '[' . Expression ']' SubscriptExpressionList
  376                 | '[' . Expression ']' SubscriptExpressionList ArrayDesignatorList

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168
    ']'                   shift, and go to state 610

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Expression                go to state 611
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 477

  109 ClassBody: . '{' '}'
  110          | . '{' ClassBodyDeclarationList '}'
  369 ClassCreatorRest: Arguments .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, '.', ',', ';', '*', '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', '>', '?', "super", '&', '(', ')', '=', '{', '}', "void", ':', "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", "instanceof", "||", "&&", '|', '^', "==", "!=", "<=", ">=", "<<", ">>", ">>>", '+', '-', '/', '%', "++", "--", '!', '~', "this", "new", '[', ']']
  370                 | Arguments . ClassBody

    '{'  shift, and go to state 62

    '{'       [reduce using rule 369 (ClassCreatorRest)]
    $default  reduce using rule 369 (ClassCreatorRest)

    ClassBody  go to state 612


State 478

  364 Creator: CreatedName ClassCreatorRest .

    $default  reduce using rule 364 (Creator)


State 479

  363 Creator: CreatedName ArrayCreatorRest .

    $default  reduce using rule 363 (Creator)


State 480

  344 Primary: BasicType '.' "class" .

    $default  reduce using rule 344 (Primary)


State 481

  345 Primary: BasicType ArrayDesignatorList '.' . "class"

    "class"  shift, and go to state 613


State 482

  361 ExplicitGenericInvocationSuffix: Identifier Arguments .

    $default  reduce using rule 361 (ExplicitGenericInvocationSuffix)


State 483

  360 ExplicitGenericInvocationSuffix: "super" SuperSuffix .

    $default  reduce using rule 360 (ExplicitGenericInvocationSuffix)


State 484

  339 Primary: NonWildcardTypeArguments "this" Arguments .

    $default  reduce using rule 339 (Primary)


State 485

  104 ElementValuePair: Identifier . '=' ElementValue

    '='  shift, and go to state 279


State 486

  103 ElementValuePairs: ElementValuePairs ',' ElementValuePair .

    $default  reduce using rule 103 (ElementValuePairs)


State 487

  294 Expression1Rest: '?' Expression . ':' Expression1

    ':'  shift, and go to state 614


State 488

  298 Expression2Rest: "instanceof" Type .

    $default  reduce using rule 298 (Expression2Rest)


State 489

  469 InfixOpExpression3List: InfixOp Expression3 .

    $default  reduce using rule 469 (InfixOpExpression3List)


State 490

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'
  470 InfixOpExpression3List: InfixOpExpression3List InfixOp . Expression3

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Expression3               go to state 615
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 491

  354 Arguments: . '(' ')'
  355          | . '(' Expression ')'
  356          | . '(' Expression ExpressionList ')'
  390 Selector: '.' Identifier .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, '.', ',', ';', '*', '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', '>', '?', "super", '&', '(', ')', '=', '{', '}', "void", ':', "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", "instanceof", "||", "&&", '|', '^', "==", "!=", "<=", ">=", "<<", ">>", ">>>", '+', '-', '/', '%', "++", "--", '!', '~', "this", "new", '[', ']']
  391         | '.' Identifier . Arguments

    '('  shift, and go to state 250

    '('       [reduce using rule 390 (Selector)]
    $default  reduce using rule 390 (Selector)

    Arguments  go to state 616


State 492

  354 Arguments: . '(' ')'
  355          | . '(' Expression ')'
  356          | . '(' Expression ExpressionList ')'
  357 SuperSuffix: . Arguments
  358            | . '.' Identifier
  359            | . '.' Identifier Arguments
  394 Selector: '.' "super" . SuperSuffix

    '.'  shift, and go to state 284
    '('  shift, and go to state 250

    Arguments    go to state 285
    SuperSuffix  go to state 617


State 493

  393 Selector: '.' "this" .

    $default  reduce using rule 393 (Selector)


State 494

   71 NonWildcardTypeArguments: . '<' TypeList '>'
  388 InnerCreator: . Identifier ClassCreatorRest
  389             | . Identifier NonWildcardTypeArgumentsOrDiamond ClassCreatorRest
  395 Selector: '.' "new" . InnerCreator
  396         | '.' "new" . NonWildcardTypeArguments InnerCreator

    Identifier  shift, and go to state 595
    '<'         shift, and go to state 155

    NonWildcardTypeArguments  go to state 618
    InnerCreator              go to state 619


State 495

  392 Selector: '.' ExplicitGenericInvocation .

    $default  reduce using rule 392 (Selector)


State 496

  397 Selector: '[' Expression . ']'

    ']'  shift, and go to state 620


State 497

  434 PostfixOpList: PostfixOpList PostfixOp .

    $default  reduce using rule 434 (PostfixOpList)


State 498

  452 SelectorList: SelectorList Selector .

    $default  reduce using rule 452 (SelectorList)


State 499

  324 Expression3: Primary SelectorList PostfixOpList .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, ',', ';', '*', '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', '>', '?', "super", '&', '(', ')', '=', '{', '}', "void", ':', "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", "instanceof", "||", "&&", '|', '^', "==", "!=", "<=", ">=", "<<", ">>", ">>>", '+', '-', '/', '%', "++", "--", '!', '~', "this", "new", ']']
  331 PostfixOp: . "++"
  332          | . "--"
  434 PostfixOpList: PostfixOpList . PostfixOp

    "++"  shift, and go to state 337
    "--"  shift, and go to state 338

    "++"      [reduce using rule 324 (Expression3)]
    "--"      [reduce using rule 324 (Expression3)]
    $default  reduce using rule 324 (Expression3)

    PostfixOp  go to state 497


State 500

   13 CompilationUnit: Annotations "package" QualifiedIdentifier ';' ImportDeclarationList TypeDeclarationList .  ["end of file"]
   20 TypeDeclarationList: TypeDeclarationList . TypeDeclaration
   25 TypeDeclaration: . ClassOrInterfaceDeclaration
   26                | . ';'
   27 ClassOrInterfaceDeclaration: . InterfaceDeclaration
   28                            | . ClassDeclaration
   29                            | . ModifierList BOGUS InterfaceDeclaration
   30                            | . ModifierList ClassDeclaration
   31 ClassDeclaration: . NormalClassDeclaration
   32                 | . EnumDeclaration
   33 InterfaceDeclaration: . NormalInterfaceDeclaration
   34                     | . AnnotationTypeDeclaration
   35 NormalClassDeclaration: . "class" Identifier ClassBody
   36                       | . "class" Identifier "implements" TypeList ClassBody
   37                       | . "class" Identifier "extends" Type ClassBody
   38                       | . "class" Identifier "extends" Type "implements" TypeList ClassBody
   39                       | . "class" Identifier TypeParameters ClassBody
   40                       | . "class" Identifier TypeParameters "implements" TypeList ClassBody
   41                       | . "class" Identifier TypeParameters "extends" Type ClassBody
   42                       | . "class" Identifier TypeParameters "extends" Type "implements" TypeList ClassBody
   43 EnumDeclaration: . "enum" Identifier EnumBody
   44                | . "enum" Identifier "implements" TypeList EnumBody
   45 NormalInterfaceDeclaration: . "interface" Identifier InterfaceBody
   46                           | . "interface" Identifier "extends" TypeList InterfaceBody
   47                           | . "interface" Identifier TypeParameters InterfaceBody
   48                           | . "interface" Identifier TypeParameters "extends" TypeList InterfaceBody
   49 AnnotationTypeDeclaration: . '@' "interface" Identifier AnnotationTypeBody
   83 Modifier: . Annotation
   84         | . "public"
   85         | . "protected"
   86         | . "private"
   87         | . "static"
   88         | . "abstract"
   89         | . "final"
   90         | . "native"
   91         | . "synchronized"
   92         | . "transient"
   93         | . "volatile"
   94         | . "strictfp"
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  455 ModifierList: . Modifier
  456             | . ModifierList BOGUS Modifier

    ';'             shift, and go to state 2
    "static"        shift, and go to state 4
    "class"         shift, and go to state 5
    "enum"          shift, and go to state 6
    "interface"     shift, and go to state 7
    '@'             shift, and go to state 8
    "public"        shift, and go to state 9
    "protected"     shift, and go to state 10
    "private"       shift, and go to state 11
    "abstract"      shift, and go to state 12
    "final"         shift, and go to state 13
    "native"        shift, and go to state 14
    "synchronized"  shift, and go to state 15
    "transient"     shift, and go to state 16
    "volatile"      shift, and go to state 17
    "strictfp"      shift, and go to state 18

    $default  reduce using rule 13 (CompilationUnit)

    TypeDeclaration              go to state 48
    ClassOrInterfaceDeclaration  go to state 24
    ClassDeclaration             go to state 25
    InterfaceDeclaration         go to state 26
    NormalClassDeclaration       go to state 27
    EnumDeclaration              go to state 28
    NormalInterfaceDeclaration   go to state 29
    AnnotationTypeDeclaration    go to state 30
    Modifier                     go to state 31
    Annotation                   go to state 47
    ModifierList                 go to state 34


State 501

   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   70 TypeArgument: '?' "extends" . ReferenceType

    Identifier  shift, and go to state 83

    ReferenceType  go to state 621


State 502

   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   69 TypeArgument: '?' "super" . ReferenceType

    Identifier  shift, and go to state 83

    ReferenceType  go to state 622


State 503

   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   67 TypeArgument: . ReferenceType
   68             | . '?'
   69             | . '?' "super" ReferenceType
   70             | . '?' "extends" ReferenceType
  446 TypeArgumentList: TypeArgumentList ',' . TypeArgument

    Identifier  shift, and go to state 83
    '?'         shift, and go to state 347

    ReferenceType  go to state 348
    TypeArgument   go to state 623


State 504

   66 TypeArguments: '<' TypeArgumentList '>' .

    $default  reduce using rule 66 (TypeArguments)


State 505

   65 ReferenceType: ReferenceType '.' Identifier TypeArguments .

    $default  reduce using rule 65 (ReferenceType)


State 506

   38 NormalClassDeclaration: "class" Identifier "extends" Type "implements" TypeList ClassBody .

    $default  reduce using rule 38 (NormalClassDeclaration)


State 507

  468 ArrayDesignatorList: ArrayDesignatorList '[' ']' .

    $default  reduce using rule 468 (ArrayDesignatorList)


State 508

   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   82 Bound: Bound '&' . ReferenceType

    Identifier  shift, and go to state 83

    ReferenceType  go to state 624


State 509

  184 VariableDeclaratorId: Identifier .  [',', ';', ')', '=', ':']
  185                     | Identifier . ArrayDesignatorList
  467 ArrayDesignatorList: . '[' ']'
  468                    | . ArrayDesignatorList '[' ']'

    '['  shift, and go to state 196

    $default  reduce using rule 184 (VariableDeclaratorId)

    ArrayDesignatorList  go to state 625


State 510

  183 FormalParameterDeclsRest: "..." . VariableDeclaratorId
  184 VariableDeclaratorId: . Identifier
  185                     | . Identifier ArrayDesignatorList

    Identifier  shift, and go to state 509

    VariableDeclaratorId  go to state 626


State 511

  177 FormalParameterDecls: Type FormalParameterDeclsRest .

    $default  reduce using rule 177 (FormalParameterDecls)


State 512

  181 FormalParameterDeclsRest: VariableDeclaratorId .  [')']
  182                         | VariableDeclaratorId . ',' FormalParameterDecls

    ','  shift, and go to state 627

    $default  reduce using rule 181 (FormalParameterDeclsRest)


State 513

  176 FormalParameters: '(' FormalParameterDecls ')' .

    $default  reduce using rule 176 (FormalParameters)


State 514

  178 FormalParameterDecls: VariableModifierList Type . FormalParameterDeclsRest
  181 FormalParameterDeclsRest: . VariableDeclaratorId
  182                         | . VariableDeclaratorId ',' FormalParameterDecls
  183                         | . "..." VariableDeclaratorId
  184 VariableDeclaratorId: . Identifier
  185                     | . Identifier ArrayDesignatorList

    Identifier  shift, and go to state 509
    "..."       shift, and go to state 510

    FormalParameterDeclsRest  go to state 628
    VariableDeclaratorId      go to state 512


State 515

  141 ConstructorDeclaratorRest: FormalParameters API_ELISION ';' .

    $default  reduce using rule 141 (ConstructorDeclaratorRest)


State 516

    2 QualifiedIdentifier: QualifiedIdentifier . '.' Identifier
    3 QualifiedIdentifierList: QualifiedIdentifier .  [API_ELISION, ',', ';', '{']

    '.'  shift, and go to state 54

    $default  reduce using rule 3 (QualifiedIdentifierList)


State 517

    4 QualifiedIdentifierList: QualifiedIdentifierList . ',' QualifiedIdentifier
  140 ConstructorDeclaratorRest: FormalParameters "throws" QualifiedIdentifierList . Block
  142                          | FormalParameters "throws" QualifiedIdentifierList . API_ELISION ';'
  200 Block: . '{' BlockStatements '}'

    API_ELISION  shift, and go to state 629
    ','          shift, and go to state 630
    '{'          shift, and go to state 103

    Block  go to state 631


State 518

  206 BlockStatement: Identifier ':' Statement .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, ';', "static", "class", "enum", "interface", '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', "super", "public", "protected", "private", "abstract", "final", "native", "synchronized", "transient", "volatile", "strictfp", '(', '{', '}', "void", "if", "assert", "switch", "while", "do", "for", "break", "continue", "return", "throw", "try", "case", "default", '+', '-', "++", "--", '!', '~', "this", "new"]
  211 Statement: Identifier ':' Statement .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, ';', "static", "class", "enum", "interface", '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', "super", "public", "protected", "private", "abstract", "final", "native", "synchronized", "transient", "volatile", "strictfp", '(', '{', '}', "void", "if", "assert", "switch", "while", "do", "for", "break", "continue", "return", "throw", "try", "case", "default", '+', '-', "++", "--", '!', '~', "this", "new"]

    BooleanLiteral        reduce using rule 206 (BlockStatement)
    BooleanLiteral        [reduce using rule 211 (Statement)]
    CharacterLiteral      reduce using rule 206 (BlockStatement)
    CharacterLiteral      [reduce using rule 211 (Statement)]
    FloatingPointLiteral  reduce using rule 206 (BlockStatement)
    FloatingPointLiteral  [reduce using rule 211 (Statement)]
    IntegerLiteral        reduce using rule 206 (BlockStatement)
    IntegerLiteral        [reduce using rule 211 (Statement)]
    NullLiteral           reduce using rule 206 (BlockStatement)
    NullLiteral           [reduce using rule 211 (Statement)]
    StringLiteral         reduce using rule 206 (BlockStatement)
    StringLiteral         [reduce using rule 211 (Statement)]
    Identifier            reduce using rule 206 (BlockStatement)
    Identifier            [reduce using rule 211 (Statement)]
    ';'                   reduce using rule 206 (BlockStatement)
    ';'                   [reduce using rule 211 (Statement)]
    "static"              reduce using rule 206 (BlockStatement)
    "static"              [reduce using rule 211 (Statement)]
    "class"               reduce using rule 206 (BlockStatement)
    "class"               [reduce using rule 211 (Statement)]
    "enum"                reduce using rule 206 (BlockStatement)
    "enum"                [reduce using rule 211 (Statement)]
    "interface"           reduce using rule 206 (BlockStatement)
    "interface"           [reduce using rule 211 (Statement)]
    '@'                   reduce using rule 206 (BlockStatement)
    '@'                   [reduce using rule 211 (Statement)]
    "byte"                reduce using rule 206 (BlockStatement)
    "byte"                [reduce using rule 211 (Statement)]
    "short"               reduce using rule 206 (BlockStatement)
    "short"               [reduce using rule 211 (Statement)]
    "char"                reduce using rule 206 (BlockStatement)
    "char"                [reduce using rule 211 (Statement)]
    "int"                 reduce using rule 206 (BlockStatement)
    "int"                 [reduce using rule 211 (Statement)]
    "long"                reduce using rule 206 (BlockStatement)
    "long"                [reduce using rule 211 (Statement)]
    "float"               reduce using rule 206 (BlockStatement)
    "float"               [reduce using rule 211 (Statement)]
    "double"              reduce using rule 206 (BlockStatement)
    "double"              [reduce using rule 211 (Statement)]
    "boolean"             reduce using rule 206 (BlockStatement)
    "boolean"             [reduce using rule 211 (Statement)]
    '<'                   reduce using rule 206 (BlockStatement)
    '<'                   [reduce using rule 211 (Statement)]
    "super"               reduce using rule 206 (BlockStatement)
    "super"               [reduce using rule 211 (Statement)]
    "public"              reduce using rule 206 (BlockStatement)
    "public"              [reduce using rule 211 (Statement)]
    "protected"           reduce using rule 206 (BlockStatement)
    "protected"           [reduce using rule 211 (Statement)]
    "private"             reduce using rule 206 (BlockStatement)
    "private"             [reduce using rule 211 (Statement)]
    "abstract"            reduce using rule 206 (BlockStatement)
    "abstract"            [reduce using rule 211 (Statement)]
    "final"               reduce using rule 206 (BlockStatement)
    "final"               [reduce using rule 211 (Statement)]
    "native"              reduce using rule 206 (BlockStatement)
    "native"              [reduce using rule 211 (Statement)]
    "synchronized"        reduce using rule 206 (BlockStatement)
    "synchronized"        [reduce using rule 211 (Statement)]
    "transient"           reduce using rule 206 (BlockStatement)
    "transient"           [reduce using rule 211 (Statement)]
    "volatile"            reduce using rule 206 (BlockStatement)
    "volatile"            [reduce using rule 211 (Statement)]
    "strictfp"            reduce using rule 206 (BlockStatement)
    "strictfp"            [reduce using rule 211 (Statement)]
    '('                   reduce using rule 206 (BlockStatement)
    '('                   [reduce using rule 211 (Statement)]
    '{'                   reduce using rule 206 (BlockStatement)
    '{'                   [reduce using rule 211 (Statement)]
    '}'                   reduce using rule 206 (BlockStatement)
    '}'                   [reduce using rule 211 (Statement)]
    "void"                reduce using rule 206 (BlockStatement)
    "void"                [reduce using rule 211 (Statement)]
    "if"                  reduce using rule 206 (BlockStatement)
    "if"                  [reduce using rule 211 (Statement)]
    "assert"              reduce using rule 206 (BlockStatement)
    "assert"              [reduce using rule 211 (Statement)]
    "switch"              reduce using rule 206 (BlockStatement)
    "switch"              [reduce using rule 211 (Statement)]
    "while"               reduce using rule 206 (BlockStatement)
    "while"               [reduce using rule 211 (Statement)]
    "do"                  reduce using rule 206 (BlockStatement)
    "do"                  [reduce using rule 211 (Statement)]
    "for"                 reduce using rule 206 (BlockStatement)
    "for"                 [reduce using rule 211 (Statement)]
    "break"               reduce using rule 206 (BlockStatement)
    "break"               [reduce using rule 211 (Statement)]
    "continue"            reduce using rule 206 (BlockStatement)
    "continue"            [reduce using rule 211 (Statement)]
    "return"              reduce using rule 206 (BlockStatement)
    "return"              [reduce using rule 211 (Statement)]
    "throw"               reduce using rule 206 (BlockStatement)
    "throw"               [reduce using rule 211 (Statement)]
    "try"                 reduce using rule 206 (BlockStatement)
    "try"                 [reduce using rule 211 (Statement)]
    "case"                reduce using rule 206 (BlockStatement)
    "case"                [reduce using rule 211 (Statement)]
    "default"             reduce using rule 206 (BlockStatement)
    "default"             [reduce using rule 211 (Statement)]
    '+'                   reduce using rule 206 (BlockStatement)
    '+'                   [reduce using rule 211 (Statement)]
    '-'                   reduce using rule 206 (BlockStatement)
    '-'                   [reduce using rule 211 (Statement)]
    "++"                  reduce using rule 206 (BlockStatement)
    "++"                  [reduce using rule 211 (Statement)]
    "--"                  reduce using rule 206 (BlockStatement)
    "--"                  [reduce using rule 211 (Statement)]
    '!'                   reduce using rule 206 (BlockStatement)
    '!'                   [reduce using rule 211 (Statement)]
    '~'                   reduce using rule 206 (BlockStatement)
    '~'                   [reduce using rule 211 (Statement)]
    "this"                reduce using rule 206 (BlockStatement)
    "this"                [reduce using rule 211 (Statement)]
    "new"                 reduce using rule 206 (BlockStatement)
    "new"                 [reduce using rule 211 (Statement)]
    $default              reduce using rule 206 (BlockStatement)


State 519

  353 ParExpression: '(' Expression . ')'

    ')'  shift, and go to state 632


State 520

  228 Statement: "synchronized" ParExpression Block .

    $default  reduce using rule 228 (Statement)


State 521

  213 Statement: "if" ParExpression Statement .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, ';', "static", "class", "enum", "interface", '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', "super", "public", "protected", "private", "abstract", "final", "native", "synchronized", "transient", "volatile", "strictfp", '(', '{', '}', "void", "if", "else", "assert", "switch", "while", "do", "for", "break", "continue", "return", "throw", "try", "case", "default", '+', '-', "++", "--", '!', '~', "this", "new"]
  214          | "if" ParExpression Statement . "else" Statement

    "else"  shift, and go to state 633

    "else"    [reduce using rule 213 (Statement)]
    $default  reduce using rule 213 (Statement)


State 522

  215 Statement: "assert" Expression ';' .

    $default  reduce using rule 215 (Statement)


State 523

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  216 Statement: "assert" Expression ':' . Expression ';'
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Expression                go to state 634
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 524

  217 Statement: "switch" ParExpression '{' . SwitchBlockStatementGroups '}'
  250 SwitchBlockStatementGroups: . %empty  ['}']
  251                           | . SwitchBlockStatementGroupList
  252 SwitchBlockStatementGroup: . SwitchLabels BlockStatements
  253 SwitchLabels: . SwitchLabel
  254             | . SwitchLabels SwitchLabel
  255 SwitchLabel: . "case" Expression ':'
  256            | . "case" EnumConstantName ':'
  257            | . "default" ':'
  463 SwitchBlockStatementGroupList: . SwitchBlockStatementGroup
  464                              | . SwitchBlockStatementGroupList SwitchBlockStatementGroup

    "case"     shift, and go to state 635
    "default"  shift, and go to state 636

    $default  reduce using rule 250 (SwitchBlockStatementGroups)

    SwitchBlockStatementGroups     go to state 637
    SwitchBlockStatementGroup      go to state 638
    SwitchLabels                   go to state 639
    SwitchLabel                    go to state 640
    SwitchBlockStatementGroupList  go to state 641


State 525

  218 Statement: "while" ParExpression Statement .

    $default  reduce using rule 218 (Statement)


State 526

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  200 Block: . '{' BlockStatements '}'
  209 Statement: . Block
  210          | . ';'
  211          | . Identifier ':' Statement
  211          | Identifier ':' . Statement
  212          | . StatementExpression ';'
  213          | . "if" ParExpression Statement
  214          | . "if" ParExpression Statement "else" Statement
  215          | . "assert" Expression ';'
  216          | . "assert" Expression ':' Expression ';'
  217          | . "switch" ParExpression '{' SwitchBlockStatementGroups '}'
  218          | . "while" ParExpression Statement
  219          | . "do" Statement "while" ParExpression ';'
  220          | . "for" '(' ForControl ')' Statement
  221          | . "break" ';'
  222          | . "break" Identifier ';'
  223          | . "continue" ';'
  224          | . "continue" Identifier ';'
  225          | . "return" ';'
  226          | . "return" Expression ';'
  227          | . "throw" Expression ';'
  228          | . "synchronized" ParExpression Block
  229          | . "try" Block Finally
  230          | . "try" Block Catches
  231          | . "try" Block Catches Finally
  232          | . "try" ResourceSpecification Block
  233          | . "try" ResourceSpecification Block Finally
  234          | . "try" ResourceSpecification Block Catches
  235          | . "try" ResourceSpecification Block Catches Finally
  236 StatementExpression: . Expression
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 375
    ';'                   shift, and go to state 207
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    "synchronized"        shift, and go to state 376
    '('                   shift, and go to state 157
    '{'                   shift, and go to state 103
    "void"                shift, and go to state 160
    "if"                  shift, and go to state 210
    "assert"              shift, and go to state 211
    "switch"              shift, and go to state 212
    "while"               shift, and go to state 213
    "do"                  shift, and go to state 214
    "for"                 shift, and go to state 215
    "break"               shift, and go to state 216
    "continue"            shift, and go to state 217
    "return"              shift, and go to state 218
    "throw"               shift, and go to state 219
    "try"                 shift, and go to state 220
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Block                     go to state 226
    Statement                 go to state 642
    StatementExpression       go to state 231
    Expression                go to state 232
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 527

  219 Statement: "do" Statement "while" . ParExpression ';'
  353 ParExpression: . '(' Expression ')'

    '('  shift, and go to state 369

    ParExpression  go to state 643


State 528

  184 VariableDeclaratorId: . Identifier
  185                     | . Identifier ArrayDesignatorList
  264 ForVarControl: Type . VariableDeclaratorId ForVarControlRest

    Identifier  shift, and go to state 509

    VariableDeclaratorId  go to state 644


State 529

  276 ForUpdate: StatementExpression .

    $default  reduce using rule 276 (ForUpdate)


State 530

  220 Statement: "for" '(' ForControl . ')' Statement

    ')'  shift, and go to state 645


State 531

  259 ForControl: ForVarControl .

    $default  reduce using rule 259 (ForControl)


State 532

  260 ForControl: ForInit . ';' ';'
  261           | ForInit . ';' ';' ForUpdate
  262           | ForInit . ';' Expression ';'
  263           | ForInit . ';' Expression ';' ForUpdate

    ';'  shift, and go to state 646


State 533

  275 ForInit: ForUpdate .  [';']
  277 ForUpdate: ForUpdate . ',' StatementExpression

    ','  shift, and go to state 647

    $default  reduce using rule 275 (ForInit)


State 534

   50 Type: . BasicType
   51     | . BasicType ArrayDesignatorList
   52     | . ReferenceType
   53     | . ReferenceType ArrayDesignatorList
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  179 VariableModifier: . "final"
  180                 | . Annotation
  265 ForVarControl: VariableModifierList . Type VariableDeclaratorId ForVarControlRest
  440 VariableModifierList: VariableModifierList . VariableModifier

    Identifier  shift, and go to state 83
    '@'         shift, and go to state 50
    "byte"      shift, and go to state 86
    "short"     shift, and go to state 87
    "char"      shift, and go to state 88
    "int"       shift, and go to state 89
    "long"      shift, and go to state 90
    "float"     shift, and go to state 91
    "double"    shift, and go to state 92
    "boolean"   shift, and go to state 93
    "final"     shift, and go to state 359

    Type              go to state 648
    BasicType         go to state 95
    ReferenceType     go to state 96
    Annotation        go to state 362
    VariableModifier  go to state 409


State 535

  222 Statement: "break" Identifier ';' .

    $default  reduce using rule 222 (Statement)


State 536

  224 Statement: "continue" Identifier ';' .

    $default  reduce using rule 224 (Statement)


State 537

  226 Statement: "return" Expression ';' .

    $default  reduce using rule 226 (Statement)


State 538

  227 Statement: "throw" Expression ';' .

    $default  reduce using rule 227 (Statement)


State 539

   64 ReferenceType: ReferenceType . '.' Identifier
   65              | ReferenceType . '.' Identifier TypeArguments
  184 VariableDeclaratorId: . Identifier
  185                     | . Identifier ArrayDesignatorList
  248 Resource: ReferenceType . VariableDeclaratorId '=' Expression

    Identifier  shift, and go to state 509
    '.'         shift, and go to state 191

    VariableDeclaratorId  go to state 649


State 540

  244 ResourceSpecification: '(' Resources . ')'
  245                      | '(' Resources . ';' ')'
  247 Resources: Resources . ';' Resource

    ';'  shift, and go to state 650
    ')'  shift, and go to state 651


State 541

  246 Resources: Resource .

    $default  reduce using rule 246 (Resources)


State 542

   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  179 VariableModifier: . "final"
  180                 | . Annotation
  249 Resource: VariableModifierList . ReferenceType VariableDeclaratorId '=' Expression
  440 VariableModifierList: VariableModifierList . VariableModifier

    Identifier  shift, and go to state 83
    '@'         shift, and go to state 50
    "final"     shift, and go to state 359

    ReferenceType     go to state 652
    Annotation        go to state 362
    VariableModifier  go to state 409


State 543

  239 CatchClause: "catch" . '(' CatchType Identifier ')' Block
  240            | "catch" . '(' VariableModifierList CatchType Identifier ')' Block

    '('  shift, and go to state 653


State 544

  200 Block: . '{' BlockStatements '}'
  243 Finally: "finally" . Block

    '{'  shift, and go to state 103

    Block  go to state 654


State 545

  230 Statement: "try" Block Catches .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, ';', "static", "class", "enum", "interface", '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', "super", "public", "protected", "private", "abstract", "final", "native", "synchronized", "transient", "volatile", "strictfp", '(', '{', '}', "void", "if", "else", "assert", "switch", "while", "do", "for", "break", "continue", "return", "throw", "try", "case", "default", '+', '-', "++", "--", '!', '~', "this", "new"]
  231          | "try" Block Catches . Finally
  238 Catches: Catches . CatchClause
  239 CatchClause: . "catch" '(' CatchType Identifier ')' Block
  240            | . "catch" '(' VariableModifierList CatchType Identifier ')' Block
  243 Finally: . "finally" Block

    "catch"    shift, and go to state 543
    "finally"  shift, and go to state 544

    $default  reduce using rule 230 (Statement)

    CatchClause  go to state 655
    Finally      go to state 656


State 546

  237 Catches: CatchClause .

    $default  reduce using rule 237 (Catches)


State 547

  229 Statement: "try" Block Finally .

    $default  reduce using rule 229 (Statement)


State 548

  232 Statement: "try" ResourceSpecification Block .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, ';', "static", "class", "enum", "interface", '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', "super", "public", "protected", "private", "abstract", "final", "native", "synchronized", "transient", "volatile", "strictfp", '(', '{', '}', "void", "if", "else", "assert", "switch", "while", "do", "for", "break", "continue", "return", "throw", "try", "case", "default", '+', '-', "++", "--", '!', '~', "this", "new"]
  233          | "try" ResourceSpecification Block . Finally
  234          | "try" ResourceSpecification Block . Catches
  235          | "try" ResourceSpecification Block . Catches Finally
  237 Catches: . CatchClause
  238        | . Catches CatchClause
  239 CatchClause: . "catch" '(' CatchType Identifier ')' Block
  240            | . "catch" '(' VariableModifierList CatchType Identifier ')' Block
  243 Finally: . "finally" Block

    "catch"    shift, and go to state 543
    "finally"  shift, and go to state 544

    $default  reduce using rule 232 (Statement)

    Catches      go to state 657
    CatchClause  go to state 546
    Finally      go to state 658


State 549

  188 VariableDeclarator: Identifier VariableDeclaratorRest .

    $default  reduce using rule 188 (VariableDeclarator)


State 550

  207 LocalVariableDeclarationStatement: Type VariableDeclarators ';' .

    $default  reduce using rule 207 (LocalVariableDeclarationStatement)


State 551

  188 VariableDeclarator: . Identifier VariableDeclaratorRest
  441 VariableDeclaratorList: ',' . VariableDeclarator

    Identifier  shift, and go to state 389

    VariableDeclarator  go to state 659


State 552

  187 VariableDeclarators: VariableDeclarator VariableDeclaratorList .  [';']
  442 VariableDeclaratorList: VariableDeclaratorList . ',' VariableDeclarator

    ','  shift, and go to state 660

    $default  reduce using rule 187 (VariableDeclarators)


State 553

  279 Expression: Expression1 AssignmentOperator Expression1 .

    $default  reduce using rule 279 (Expression)


State 554

  208 LocalVariableDeclarationStatement: VariableModifierList Type VariableDeclarators . ';'

    ';'  shift, and go to state 661


State 555

  135 VoidMethodDeclaratorRest: FormalParameters ';' .

    $default  reduce using rule 135 (VoidMethodDeclaratorRest)


State 556

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
    3 QualifiedIdentifierList: . QualifiedIdentifier
    4                        | . QualifiedIdentifierList ',' QualifiedIdentifier
  137 VoidMethodDeclaratorRest: FormalParameters "throws" . QualifiedIdentifierList ';'
  138                         | FormalParameters "throws" . QualifiedIdentifierList Block

    Identifier  shift, and go to state 35

    QualifiedIdentifier      go to state 516
    QualifiedIdentifierList  go to state 662


State 557

  136 VoidMethodDeclaratorRest: FormalParameters Block .

    $default  reduce using rule 136 (VoidMethodDeclaratorRest)


State 558

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  193 VariableInitializer: . ArrayInitializer
  194                    | . Expression
  195 ArrayInitializer: . '{' '}'
  195                 | '{' . '}'
  196                 | . '{' VariableInitializer '}'
  196                 | '{' . VariableInitializer '}'
  197                 | . '{' VariableInitializer ',' '}'
  197                 | '{' . VariableInitializer ',' '}'
  198                 | . '{' VariableInitializer VariableInitializerList '}'
  198                 | '{' . VariableInitializer VariableInitializerList '}'
  199                 | . '{' VariableInitializer VariableInitializerList ',' '}'
  199                 | '{' . VariableInitializer VariableInitializerList ',' '}'
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    '{'                   shift, and go to state 558
    '}'                   shift, and go to state 663
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    VariableInitializer       go to state 664
    ArrayInitializer          go to state 560
    Expression                go to state 561
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 559

  190 VariableDeclaratorRest: '=' VariableInitializer .

    $default  reduce using rule 190 (VariableDeclaratorRest)


State 560

  193 VariableInitializer: ArrayInitializer .

    $default  reduce using rule 193 (VariableInitializer)


State 561

  194 VariableInitializer: Expression .

    $default  reduce using rule 194 (VariableInitializer)


State 562

  123 MethodOrFieldRest: FieldDeclaratorsRest ';' .

    $default  reduce using rule 123 (MethodOrFieldRest)


State 563

  127 MethodDeclaratorRest: FormalParameters ';' .

    $default  reduce using rule 127 (MethodDeclaratorRest)


State 564

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
    3 QualifiedIdentifierList: . QualifiedIdentifier
    4                        | . QualifiedIdentifierList ',' QualifiedIdentifier
  129 MethodDeclaratorRest: FormalParameters "throws" . QualifiedIdentifierList ';'
  130                     | FormalParameters "throws" . QualifiedIdentifierList Block

    Identifier  shift, and go to state 35

    QualifiedIdentifier      go to state 516
    QualifiedIdentifierList  go to state 665


State 565

  128 MethodDeclaratorRest: FormalParameters Block .

    $default  reduce using rule 128 (MethodDeclaratorRest)


State 566

  131 MethodDeclaratorRest: FormalParameters ArrayDesignatorList . ';'
  132                     | FormalParameters ArrayDesignatorList . Block
  133                     | FormalParameters ArrayDesignatorList . "throws" QualifiedIdentifierList ';'
  134                     | FormalParameters ArrayDesignatorList . "throws" QualifiedIdentifierList Block
  200 Block: . '{' BlockStatements '}'
  468 ArrayDesignatorList: ArrayDesignatorList . '[' ']'

    ';'       shift, and go to state 666
    '{'       shift, and go to state 103
    "throws"  shift, and go to state 667
    '['       shift, and go to state 355

    Block  go to state 668


State 567

  126 FieldDeclaratorsRest: VariableDeclaratorRest VariableDeclaratorList .  [';']
  442 VariableDeclaratorList: VariableDeclaratorList . ',' VariableDeclarator

    ','  shift, and go to state 660

    $default  reduce using rule 126 (FieldDeclaratorsRest)


State 568

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  192 VariableDeclaratorRest: ArrayDesignatorList '=' . VariableInitializer
  193 VariableInitializer: . ArrayInitializer
  194                    | . Expression
  195 ArrayInitializer: . '{' '}'
  196                 | . '{' VariableInitializer '}'
  197                 | . '{' VariableInitializer ',' '}'
  198                 | . '{' VariableInitializer VariableInitializerList '}'
  199                 | . '{' VariableInitializer VariableInitializerList ',' '}'
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    '{'                   shift, and go to state 558
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    VariableInitializer       go to state 669
    ArrayInitializer          go to state 560
    Expression                go to state 561
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 569

  144 GenericMethodOrConstructorRest: "void" Identifier VoidMethodDeclaratorRest .

    $default  reduce using rule 144 (GenericMethodOrConstructorRest)


State 570

  145 GenericMethodOrConstructorRest: Type Identifier MethodDeclaratorRest .

    $default  reduce using rule 145 (GenericMethodOrConstructorRest)


State 571

   42 NormalClassDeclaration: "class" Identifier TypeParameters "extends" Type "implements" TypeList . ClassBody
   73 TypeList: TypeList . ',' ReferenceType
  109 ClassBody: . '{' '}'
  110          | . '{' ClassBodyDeclarationList '}'

    ','  shift, and go to state 192
    '{'  shift, and go to state 62

    ClassBody  go to state 670


State 572

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'
  449 ExpressionList: ',' . Expression

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Expression                go to state 671
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 573

  355 Arguments: '(' Expression ')' .

    $default  reduce using rule 355 (Arguments)


State 574

  356 Arguments: '(' Expression ExpressionList . ')'
  450 ExpressionList: ExpressionList . ',' Expression

    ','  shift, and go to state 672
    ')'  shift, and go to state 673


State 575

  415 EnumConstant: Annotations Identifier Arguments ClassBody .

    $default  reduce using rule 415 (EnumConstant)


State 576

  405 EnumBody: '{' EnumConstants ',' EnumBodyDeclarations '}' .

    $default  reduce using rule 405 (EnumBody)


State 577

  171 VoidInterfaceMethodDeclaratorRest: FormalParameters ';' .

    $default  reduce using rule 171 (VoidInterfaceMethodDeclaratorRest)


State 578

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
    3 QualifiedIdentifierList: . QualifiedIdentifier
    4                        | . QualifiedIdentifierList ',' QualifiedIdentifier
  172 VoidInterfaceMethodDeclaratorRest: FormalParameters "throws" . QualifiedIdentifierList ';'

    Identifier  shift, and go to state 35

    QualifiedIdentifier      go to state 516
    QualifiedIdentifierList  go to state 674


State 579

  162 ConstantDeclaratorRest: '=' VariableInitializer .

    $default  reduce using rule 162 (ConstantDeclaratorRest)


State 580

  158 InterfaceMethodOrFieldRest: ConstantDeclaratorsRest ';' .

    $default  reduce using rule 158 (InterfaceMethodOrFieldRest)


State 581

  164 ConstantDeclaratorList: ',' . ConstantDeclarator
  166 ConstantDeclarator: . Identifier ConstantDeclaratorRest

    Identifier  shift, and go to state 675

    ConstantDeclarator  go to state 676


State 582

  161 ConstantDeclaratorsRest: ConstantDeclaratorRest ConstantDeclaratorList .  [';']
  165 ConstantDeclaratorList: ConstantDeclaratorList . ',' ConstantDeclarator

    ','  shift, and go to state 677

    $default  reduce using rule 161 (ConstantDeclaratorsRest)


State 583

  167 InterfaceMethodDeclaratorRest: FormalParameters ';' .

    $default  reduce using rule 167 (InterfaceMethodDeclaratorRest)


State 584

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
    3 QualifiedIdentifierList: . QualifiedIdentifier
    4                        | . QualifiedIdentifierList ',' QualifiedIdentifier
  168 InterfaceMethodDeclaratorRest: FormalParameters "throws" . QualifiedIdentifierList ';'

    Identifier  shift, and go to state 35

    QualifiedIdentifier      go to state 516
    QualifiedIdentifierList  go to state 678


State 585

  169 InterfaceMethodDeclaratorRest: FormalParameters ArrayDesignatorList . ';'
  170                              | FormalParameters ArrayDesignatorList . "throws" QualifiedIdentifierList ';'
  468 ArrayDesignatorList: ArrayDesignatorList . '[' ']'

    ';'       shift, and go to state 679
    "throws"  shift, and go to state 680
    '['       shift, and go to state 355


State 586

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  163 ConstantDeclaratorRest: ArrayDesignatorList '=' . VariableInitializer
  193 VariableInitializer: . ArrayInitializer
  194                    | . Expression
  195 ArrayInitializer: . '{' '}'
  196                 | . '{' VariableInitializer '}'
  197                 | . '{' VariableInitializer ',' '}'
  198                 | . '{' VariableInitializer VariableInitializerList '}'
  199                 | . '{' VariableInitializer VariableInitializerList ',' '}'
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    '{'                   shift, and go to state 558
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    VariableInitializer       go to state 681
    ArrayInitializer          go to state 560
    Expression                go to state 561
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 587

  173 InterfaceGenericMethodDecl: TypeParameters "void" Identifier VoidInterfaceMethodDeclaratorRest .

    $default  reduce using rule 173 (InterfaceGenericMethodDecl)


State 588

  174 InterfaceGenericMethodDecl: TypeParameters Type Identifier InterfaceMethodDeclaratorRest .

    $default  reduce using rule 174 (InterfaceGenericMethodDecl)


State 589

  429 AnnotationMethodRest: '(' . ')'
  430                     | '(' . ')' "default" ElementValue
  431                     | '(' . ')' '[' ']'
  432                     | '(' . ')' '[' ']' "default" ElementValue

    ')'  shift, and go to state 682


State 590

  428 AnnotationMethodOrConstantRest: ConstantDeclaratorsRest .

    $default  reduce using rule 428 (AnnotationMethodOrConstantRest)


State 591

  424 AnnotationTypeElementRest: Type Identifier AnnotationMethodOrConstantRest . ';'

    ';'  shift, and go to state 683


State 592

  427 AnnotationMethodOrConstantRest: AnnotationMethodRest .

    $default  reduce using rule 427 (AnnotationMethodOrConstantRest)


State 593

  423 AnnotationTypeElementDeclaration: ModifierList BOGUS AnnotationTypeElementRest .

    $default  reduce using rule 423 (AnnotationTypeElementDeclaration)


State 594

  382 IdentifierSuffix: '.' "super" Arguments .

    $default  reduce using rule 382 (IdentifierSuffix)


State 595

   71 NonWildcardTypeArguments: . '<' TypeList '>'
   76 NonWildcardTypeArgumentsOrDiamond: . '<' '>'
   77                                  | . NonWildcardTypeArguments
  354 Arguments: . '(' ')'
  355          | . '(' Expression ')'
  356          | . '(' Expression ExpressionList ')'
  369 ClassCreatorRest: . Arguments
  370                 | . Arguments ClassBody
  388 InnerCreator: Identifier . ClassCreatorRest
  389             | Identifier . NonWildcardTypeArgumentsOrDiamond ClassCreatorRest

    '<'  shift, and go to state 684
    '('  shift, and go to state 250

    NonWildcardTypeArguments           go to state 685
    NonWildcardTypeArgumentsOrDiamond  go to state 686
    Arguments                          go to state 477
    ClassCreatorRest                   go to state 687


State 596

  386 IdentifierSuffix: '.' "new" NonWildcardTypeArguments . InnerCreator
  388 InnerCreator: . Identifier ClassCreatorRest
  389             | . Identifier NonWildcardTypeArgumentsOrDiamond ClassCreatorRest

    Identifier  shift, and go to state 595

    InnerCreator  go to state 688


State 597

  381 IdentifierSuffix: '.' "new" InnerCreator .

    $default  reduce using rule 381 (IdentifierSuffix)


State 598

  387 ExplicitGenericInvocation: NonWildcardTypeArguments ExplicitGenericInvocationSuffix .

    $default  reduce using rule 387 (ExplicitGenericInvocation)


State 599

  378 IdentifierSuffix: '[' '.' "class" . ']'

    ']'  shift, and go to state 689


State 600

  377 IdentifierSuffix: '[' Expression ']' .

    $default  reduce using rule 377 (IdentifierSuffix)


State 601

  379 IdentifierSuffix: '[' ArrayDesignatorList '.' . "class" ']'

    "class"  shift, and go to state 690


State 602

  359 SuperSuffix: '.' Identifier Arguments .

    $default  reduce using rule 359 (SuperSuffix)


State 603

  319 Expression3: '(' Type ')' Expression3 .

    $default  reduce using rule 319 (Expression3)


State 604

  320 Expression3: '(' Expression ')' Expression3 .

    $default  reduce using rule 320 (Expression3)


State 605

   66 TypeArguments: . '<' TypeArgumentList '>'
   74 TypeArgumentsOrDiamond: . '<' '>'
   75                       | . TypeArguments
  471 DiamondKindIdentifierList: '.' Identifier .  ['.', '(', '[']
  472                          | '.' Identifier . TypeArgumentsOrDiamond

    '<'  shift, and go to state 471

    $default  reduce using rule 471 (DiamondKindIdentifierList)

    TypeArguments           go to state 472
    TypeArgumentsOrDiamond  go to state 691


State 606

   74 TypeArgumentsOrDiamond: '<' '>' .

    $default  reduce using rule 74 (TypeArgumentsOrDiamond)


State 607

  368 CreatedName: Identifier TypeArgumentsOrDiamond DiamondKindIdentifierList .  ['(', '[']
  473 DiamondKindIdentifierList: DiamondKindIdentifierList . '.' Identifier
  474                          | DiamondKindIdentifierList . '.' Identifier TypeArgumentsOrDiamond

    '.'  shift, and go to state 608

    $default  reduce using rule 368 (CreatedName)


State 608

  473 DiamondKindIdentifierList: DiamondKindIdentifierList '.' . Identifier
  474                          | DiamondKindIdentifierList '.' . Identifier TypeArgumentsOrDiamond

    Identifier  shift, and go to state 692


State 609

  362 Creator: NonWildcardTypeArguments CreatedName ClassCreatorRest .

    $default  reduce using rule 362 (Creator)


State 610

  195 ArrayInitializer: . '{' '}'
  196                 | . '{' VariableInitializer '}'
  197                 | . '{' VariableInitializer ',' '}'
  198                 | . '{' VariableInitializer VariableInitializerList '}'
  199                 | . '{' VariableInitializer VariableInitializerList ',' '}'
  372 ArrayCreatorRest: '[' ']' . ArrayInitializer
  374                 | '[' ']' . ArrayDesignatorList ArrayInitializer
  467 ArrayDesignatorList: . '[' ']'
  468                    | . ArrayDesignatorList '[' ']'

    '{'  shift, and go to state 558
    '['  shift, and go to state 196

    ArrayInitializer     go to state 693
    ArrayDesignatorList  go to state 694


State 611

  371 ArrayCreatorRest: '[' Expression . ']'
  373                 | '[' Expression . ']' ArrayDesignatorList
  375                 | '[' Expression . ']' SubscriptExpressionList
  376                 | '[' Expression . ']' SubscriptExpressionList ArrayDesignatorList

    ']'  shift, and go to state 695


State 612

  370 ClassCreatorRest: Arguments ClassBody .

    $default  reduce using rule 370 (ClassCreatorRest)


State 613

  345 Primary: BasicType ArrayDesignatorList '.' "class" .

    $default  reduce using rule 345 (Primary)


State 614

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  294 Expression1Rest: '?' Expression ':' . Expression1
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Expression1               go to state 696
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 615

  470 InfixOpExpression3List: InfixOpExpression3List InfixOp Expression3 .

    $default  reduce using rule 470 (InfixOpExpression3List)


State 616

  391 Selector: '.' Identifier Arguments .

    $default  reduce using rule 391 (Selector)


State 617

  394 Selector: '.' "super" SuperSuffix .

    $default  reduce using rule 394 (Selector)


State 618

  388 InnerCreator: . Identifier ClassCreatorRest
  389             | . Identifier NonWildcardTypeArgumentsOrDiamond ClassCreatorRest
  396 Selector: '.' "new" NonWildcardTypeArguments . InnerCreator

    Identifier  shift, and go to state 595

    InnerCreator  go to state 697


State 619

  395 Selector: '.' "new" InnerCreator .

    $default  reduce using rule 395 (Selector)


State 620

  397 Selector: '[' Expression ']' .

    $default  reduce using rule 397 (Selector)


State 621

   64 ReferenceType: ReferenceType . '.' Identifier
   65              | ReferenceType . '.' Identifier TypeArguments
   70 TypeArgument: '?' "extends" ReferenceType .  [',', '>']

    '.'  shift, and go to state 191

    $default  reduce using rule 70 (TypeArgument)


State 622

   64 ReferenceType: ReferenceType . '.' Identifier
   65              | ReferenceType . '.' Identifier TypeArguments
   69 TypeArgument: '?' "super" ReferenceType .  [',', '>']

    '.'  shift, and go to state 191

    $default  reduce using rule 69 (TypeArgument)


State 623

  446 TypeArgumentList: TypeArgumentList ',' TypeArgument .

    $default  reduce using rule 446 (TypeArgumentList)


State 624

   64 ReferenceType: ReferenceType . '.' Identifier
   65              | ReferenceType . '.' Identifier TypeArguments
   82 Bound: Bound '&' ReferenceType .  [',', '>', '&']

    '.'  shift, and go to state 191

    $default  reduce using rule 82 (Bound)


State 625

  185 VariableDeclaratorId: Identifier ArrayDesignatorList .  [',', ';', ')', '=', ':']
  468 ArrayDesignatorList: ArrayDesignatorList . '[' ']'

    '['  shift, and go to state 355

    $default  reduce using rule 185 (VariableDeclaratorId)


State 626

  183 FormalParameterDeclsRest: "..." VariableDeclaratorId .

    $default  reduce using rule 183 (FormalParameterDeclsRest)


State 627

   50 Type: . BasicType
   51     | . BasicType ArrayDesignatorList
   52     | . ReferenceType
   53     | . ReferenceType ArrayDesignatorList
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  177 FormalParameterDecls: . Type FormalParameterDeclsRest
  178                     | . VariableModifierList Type FormalParameterDeclsRest
  179 VariableModifier: . "final"
  180                 | . Annotation
  182 FormalParameterDeclsRest: VariableDeclaratorId ',' . FormalParameterDecls
  439 VariableModifierList: . VariableModifier
  440                     | . VariableModifierList VariableModifier

    Identifier  shift, and go to state 83
    '@'         shift, and go to state 50
    "byte"      shift, and go to state 86
    "short"     shift, and go to state 87
    "char"      shift, and go to state 88
    "int"       shift, and go to state 89
    "long"      shift, and go to state 90
    "float"     shift, and go to state 91
    "double"    shift, and go to state 92
    "boolean"   shift, and go to state 93
    "final"     shift, and go to state 359

    Type                  go to state 361
    BasicType             go to state 95
    ReferenceType         go to state 96
    Annotation            go to state 362
    FormalParameterDecls  go to state 698
    VariableModifier      go to state 225
    VariableModifierList  go to state 364


State 628

  178 FormalParameterDecls: VariableModifierList Type FormalParameterDeclsRest .

    $default  reduce using rule 178 (FormalParameterDecls)


State 629

  142 ConstructorDeclaratorRest: FormalParameters "throws" QualifiedIdentifierList API_ELISION . ';'

    ';'  shift, and go to state 699


State 630

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
    4 QualifiedIdentifierList: QualifiedIdentifierList ',' . QualifiedIdentifier

    Identifier  shift, and go to state 35

    QualifiedIdentifier  go to state 700


State 631

  140 ConstructorDeclaratorRest: FormalParameters "throws" QualifiedIdentifierList Block .

    $default  reduce using rule 140 (ConstructorDeclaratorRest)


State 632

  353 ParExpression: '(' Expression ')' .

    $default  reduce using rule 353 (ParExpression)


State 633

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  200 Block: . '{' BlockStatements '}'
  209 Statement: . Block
  210          | . ';'
  211          | . Identifier ':' Statement
  212          | . StatementExpression ';'
  213          | . "if" ParExpression Statement
  214          | . "if" ParExpression Statement "else" Statement
  214          | "if" ParExpression Statement "else" . Statement
  215          | . "assert" Expression ';'
  216          | . "assert" Expression ':' Expression ';'
  217          | . "switch" ParExpression '{' SwitchBlockStatementGroups '}'
  218          | . "while" ParExpression Statement
  219          | . "do" Statement "while" ParExpression ';'
  220          | . "for" '(' ForControl ')' Statement
  221          | . "break" ';'
  222          | . "break" Identifier ';'
  223          | . "continue" ';'
  224          | . "continue" Identifier ';'
  225          | . "return" ';'
  226          | . "return" Expression ';'
  227          | . "throw" Expression ';'
  228          | . "synchronized" ParExpression Block
  229          | . "try" Block Finally
  230          | . "try" Block Catches
  231          | . "try" Block Catches Finally
  232          | . "try" ResourceSpecification Block
  233          | . "try" ResourceSpecification Block Finally
  234          | . "try" ResourceSpecification Block Catches
  235          | . "try" ResourceSpecification Block Catches Finally
  236 StatementExpression: . Expression
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 375
    ';'                   shift, and go to state 207
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    "synchronized"        shift, and go to state 376
    '('                   shift, and go to state 157
    '{'                   shift, and go to state 103
    "void"                shift, and go to state 160
    "if"                  shift, and go to state 210
    "assert"              shift, and go to state 211
    "switch"              shift, and go to state 212
    "while"               shift, and go to state 213
    "do"                  shift, and go to state 214
    "for"                 shift, and go to state 215
    "break"               shift, and go to state 216
    "continue"            shift, and go to state 217
    "return"              shift, and go to state 218
    "throw"               shift, and go to state 219
    "try"                 shift, and go to state 220
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Block                     go to state 226
    Statement                 go to state 701
    StatementExpression       go to state 231
    Expression                go to state 232
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 634

  216 Statement: "assert" Expression ':' Expression . ';'

    ';'  shift, and go to state 702


State 635

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  255 SwitchLabel: "case" . Expression ':'
  256            | "case" . EnumConstantName ':'
  258 EnumConstantName: . Identifier
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 703
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    EnumConstantName          go to state 704
    Expression                go to state 705
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 636

  257 SwitchLabel: "default" . ':'

    ':'  shift, and go to state 706


State 637

  217 Statement: "switch" ParExpression '{' SwitchBlockStatementGroups . '}'

    '}'  shift, and go to state 707


State 638

  463 SwitchBlockStatementGroupList: SwitchBlockStatementGroup .

    $default  reduce using rule 463 (SwitchBlockStatementGroupList)


State 639

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   27 ClassOrInterfaceDeclaration: . InterfaceDeclaration
   28                            | . ClassDeclaration
   29                            | . ModifierList BOGUS InterfaceDeclaration
   30                            | . ModifierList ClassDeclaration
   31 ClassDeclaration: . NormalClassDeclaration
   32                 | . EnumDeclaration
   33 InterfaceDeclaration: . NormalInterfaceDeclaration
   34                     | . AnnotationTypeDeclaration
   35 NormalClassDeclaration: . "class" Identifier ClassBody
   36                       | . "class" Identifier "implements" TypeList ClassBody
   37                       | . "class" Identifier "extends" Type ClassBody
   38                       | . "class" Identifier "extends" Type "implements" TypeList ClassBody
   39                       | . "class" Identifier TypeParameters ClassBody
   40                       | . "class" Identifier TypeParameters "implements" TypeList ClassBody
   41                       | . "class" Identifier TypeParameters "extends" Type ClassBody
   42                       | . "class" Identifier TypeParameters "extends" Type "implements" TypeList ClassBody
   43 EnumDeclaration: . "enum" Identifier EnumBody
   44                | . "enum" Identifier "implements" TypeList EnumBody
   45 NormalInterfaceDeclaration: . "interface" Identifier InterfaceBody
   46                           | . "interface" Identifier "extends" TypeList InterfaceBody
   47                           | . "interface" Identifier TypeParameters InterfaceBody
   48                           | . "interface" Identifier TypeParameters "extends" TypeList InterfaceBody
   49 AnnotationTypeDeclaration: . '@' "interface" Identifier AnnotationTypeBody
   50 Type: . BasicType
   51     | . BasicType ArrayDesignatorList
   52     | . ReferenceType
   53     | . ReferenceType ArrayDesignatorList
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   71 NonWildcardTypeArguments: . '<' TypeList '>'
   83 Modifier: . Annotation
   84         | . "public"
   85         | . "protected"
   86         | . "private"
   87         | . "static"
   88         | . "abstract"
   89         | . "final"
   90         | . "native"
   91         | . "synchronized"
   92         | . "transient"
   93         | . "volatile"
   94         | . "strictfp"
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  179 VariableModifier: . "final"
  180                 | . Annotation
  200 Block: . '{' BlockStatements '}'
  201 BlockStatements: . %empty  ['}', "case", "default"]
  202                | . BlockStatementList
  203 BlockStatement: . LocalVariableDeclarationStatement
  204               | . ClassOrInterfaceDeclaration
  205               | . Statement
  206               | . Identifier ':' Statement
  207 LocalVariableDeclarationStatement: . Type VariableDeclarators ';'
  208                                  | . VariableModifierList Type VariableDeclarators ';'
  209 Statement: . Block
  210          | . ';'
  211          | . Identifier ':' Statement
  212          | . StatementExpression ';'
  213          | . "if" ParExpression Statement
  214          | . "if" ParExpression Statement "else" Statement
  215          | . "assert" Expression ';'
  216          | . "assert" Expression ':' Expression ';'
  217          | . "switch" ParExpression '{' SwitchBlockStatementGroups '}'
  218          | . "while" ParExpression Statement
  219          | . "do" Statement "while" ParExpression ';'
  220          | . "for" '(' ForControl ')' Statement
  221          | . "break" ';'
  222          | . "break" Identifier ';'
  223          | . "continue" ';'
  224          | . "continue" Identifier ';'
  225          | . "return" ';'
  226          | . "return" Expression ';'
  227          | . "throw" Expression ';'
  228          | . "synchronized" ParExpression Block
  229          | . "try" Block Finally
  230          | . "try" Block Catches
  231          | . "try" Block Catches Finally
  232          | . "try" ResourceSpecification Block
  233          | . "try" ResourceSpecification Block Finally
  234          | . "try" ResourceSpecification Block Catches
  235          | . "try" ResourceSpecification Block Catches Finally
  236 StatementExpression: . Expression
  252 SwitchBlockStatementGroup: SwitchLabels . BlockStatements
  254 SwitchLabels: SwitchLabels . SwitchLabel
  255 SwitchLabel: . "case" Expression ':'
  256            | . "case" EnumConstantName ':'
  257            | . "default" ':'
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'
  439 VariableModifierList: . VariableModifier
  440                     | . VariableModifierList VariableModifier
  455 ModifierList: . Modifier
  456             | . ModifierList BOGUS Modifier
  465 BlockStatementList: . BlockStatement
  466                   | . BlockStatementList BlockStatement

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 206
    ';'                   shift, and go to state 207
    "static"              shift, and go to state 4
    "class"               shift, and go to state 5
    "enum"                shift, and go to state 6
    "interface"           shift, and go to state 7
    '@'                   shift, and go to state 8
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    "public"              shift, and go to state 9
    "protected"           shift, and go to state 10
    "private"             shift, and go to state 11
    "abstract"            shift, and go to state 12
    "final"               shift, and go to state 208
    "native"              shift, and go to state 14
    "synchronized"        shift, and go to state 209
    "transient"           shift, and go to state 16
    "volatile"            shift, and go to state 17
    "strictfp"            shift, and go to state 18
    '('                   shift, and go to state 157
    '{'                   shift, and go to state 103
    "void"                shift, and go to state 160
    "if"                  shift, and go to state 210
    "assert"              shift, and go to state 211
    "switch"              shift, and go to state 212
    "while"               shift, and go to state 213
    "do"                  shift, and go to state 214
    "for"                 shift, and go to state 215
    "break"               shift, and go to state 216
    "continue"            shift, and go to state 217
    "return"              shift, and go to state 218
    "throw"               shift, and go to state 219
    "try"                 shift, and go to state 220
    "case"                shift, and go to state 635
    "default"             shift, and go to state 636
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    "case"     [reduce using rule 201 (BlockStatements)]
    "default"  [reduce using rule 201 (BlockStatements)]
    $default   reduce using rule 201 (BlockStatements)

    QualifiedIdentifier                go to state 169
    ClassOrInterfaceDeclaration        go to state 221
    ClassDeclaration                   go to state 25
    InterfaceDeclaration               go to state 26
    NormalClassDeclaration             go to state 27
    EnumDeclaration                    go to state 28
    NormalInterfaceDeclaration         go to state 29
    AnnotationTypeDeclaration          go to state 30
    Type                               go to state 222
    BasicType                          go to state 223
    ReferenceType                      go to state 96
    NonWildcardTypeArguments           go to state 171
    Modifier                           go to state 31
    Annotation                         go to state 224
    VariableModifier                   go to state 225
    Block                              go to state 226
    BlockStatements                    go to state 708
    BlockStatement                     go to state 228
    LocalVariableDeclarationStatement  go to state 229
    Statement                          go to state 230
    StatementExpression                go to state 231
    SwitchLabel                        go to state 709
    Expression                         go to state 232
    Expression1                        go to state 233
    Expression2                        go to state 179
    Expression3                        go to state 180
    PrefixOp                           go to state 181
    Primary                            go to state 182
    Literal                            go to state 183
    ParExpression                      go to state 184
    VariableModifierList               go to state 234
    ModifierList                       go to state 34
    BlockStatementList                 go to state 235


State 640

  253 SwitchLabels: SwitchLabel .

    $default  reduce using rule 253 (SwitchLabels)


State 641

  251 SwitchBlockStatementGroups: SwitchBlockStatementGroupList .  ['}']
  252 SwitchBlockStatementGroup: . SwitchLabels BlockStatements
  253 SwitchLabels: . SwitchLabel
  254             | . SwitchLabels SwitchLabel
  255 SwitchLabel: . "case" Expression ':'
  256            | . "case" EnumConstantName ':'
  257            | . "default" ':'
  464 SwitchBlockStatementGroupList: SwitchBlockStatementGroupList . SwitchBlockStatementGroup

    "case"     shift, and go to state 635
    "default"  shift, and go to state 636

    $default  reduce using rule 251 (SwitchBlockStatementGroups)

    SwitchBlockStatementGroup  go to state 710
    SwitchLabels               go to state 639
    SwitchLabel                go to state 640


State 642

  211 Statement: Identifier ':' Statement .

    $default  reduce using rule 211 (Statement)


State 643

  219 Statement: "do" Statement "while" ParExpression . ';'

    ';'  shift, and go to state 711


State 644

  264 ForVarControl: Type VariableDeclaratorId . ForVarControlRest
  266 ForVarControlRest: . ForVariableDeclaratorsRest ';' ';'
  267                  | . ForVariableDeclaratorsRest ';' ';' ForUpdate
  268                  | . ForVariableDeclaratorsRest ';' Expression ';'
  269                  | . ForVariableDeclaratorsRest ';' Expression ';' ForUpdate
  270                  | . ':' Expression
  271 ForVariableDeclaratorsRest: . %empty  [';']
  272                           | . '=' VariableInitializer
  273                           | . VariableDeclaratorList
  274                           | . '=' VariableInitializer VariableDeclaratorList
  441 VariableDeclaratorList: . ',' VariableDeclarator
  442                       | . VariableDeclaratorList ',' VariableDeclarator

    ','  shift, and go to state 551
    '='  shift, and go to state 712
    ':'  shift, and go to state 713

    $default  reduce using rule 271 (ForVariableDeclaratorsRest)

    ForVarControlRest           go to state 714
    ForVariableDeclaratorsRest  go to state 715
    VariableDeclaratorList      go to state 716


State 645

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  200 Block: . '{' BlockStatements '}'
  209 Statement: . Block
  210          | . ';'
  211          | . Identifier ':' Statement
  212          | . StatementExpression ';'
  213          | . "if" ParExpression Statement
  214          | . "if" ParExpression Statement "else" Statement
  215          | . "assert" Expression ';'
  216          | . "assert" Expression ':' Expression ';'
  217          | . "switch" ParExpression '{' SwitchBlockStatementGroups '}'
  218          | . "while" ParExpression Statement
  219          | . "do" Statement "while" ParExpression ';'
  220          | . "for" '(' ForControl ')' Statement
  220          | "for" '(' ForControl ')' . Statement
  221          | . "break" ';'
  222          | . "break" Identifier ';'
  223          | . "continue" ';'
  224          | . "continue" Identifier ';'
  225          | . "return" ';'
  226          | . "return" Expression ';'
  227          | . "throw" Expression ';'
  228          | . "synchronized" ParExpression Block
  229          | . "try" Block Finally
  230          | . "try" Block Catches
  231          | . "try" Block Catches Finally
  232          | . "try" ResourceSpecification Block
  233          | . "try" ResourceSpecification Block Finally
  234          | . "try" ResourceSpecification Block Catches
  235          | . "try" ResourceSpecification Block Catches Finally
  236 StatementExpression: . Expression
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 375
    ';'                   shift, and go to state 207
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    "synchronized"        shift, and go to state 376
    '('                   shift, and go to state 157
    '{'                   shift, and go to state 103
    "void"                shift, and go to state 160
    "if"                  shift, and go to state 210
    "assert"              shift, and go to state 211
    "switch"              shift, and go to state 212
    "while"               shift, and go to state 213
    "do"                  shift, and go to state 214
    "for"                 shift, and go to state 215
    "break"               shift, and go to state 216
    "continue"            shift, and go to state 217
    "return"              shift, and go to state 218
    "throw"               shift, and go to state 219
    "try"                 shift, and go to state 220
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Block                     go to state 226
    Statement                 go to state 717
    StatementExpression       go to state 231
    Expression                go to state 232
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 646

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  260 ForControl: ForInit ';' . ';'
  261           | ForInit ';' . ';' ForUpdate
  262           | ForInit ';' . Expression ';'
  263           | ForInit ';' . Expression ';' ForUpdate
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    ';'                   shift, and go to state 718
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Expression                go to state 719
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 647

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  236 StatementExpression: . Expression
  277 ForUpdate: ForUpdate ',' . StatementExpression
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    StatementExpression       go to state 720
    Expression                go to state 232
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 648

  184 VariableDeclaratorId: . Identifier
  185                     | . Identifier ArrayDesignatorList
  265 ForVarControl: VariableModifierList Type . VariableDeclaratorId ForVarControlRest

    Identifier  shift, and go to state 509

    VariableDeclaratorId  go to state 721


State 649

  248 Resource: ReferenceType VariableDeclaratorId . '=' Expression

    '='  shift, and go to state 722


State 650

   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  179 VariableModifier: . "final"
  180                 | . Annotation
  245 ResourceSpecification: '(' Resources ';' . ')'
  247 Resources: Resources ';' . Resource
  248 Resource: . ReferenceType VariableDeclaratorId '=' Expression
  249         | . VariableModifierList ReferenceType VariableDeclaratorId '=' Expression
  439 VariableModifierList: . VariableModifier
  440                     | . VariableModifierList VariableModifier

    Identifier  shift, and go to state 83
    '@'         shift, and go to state 50
    "final"     shift, and go to state 359
    ')'         shift, and go to state 723

    ReferenceType         go to state 539
    Annotation            go to state 362
    VariableModifier      go to state 225
    Resource              go to state 724
    VariableModifierList  go to state 542


State 651

  244 ResourceSpecification: '(' Resources ')' .

    $default  reduce using rule 244 (ResourceSpecification)


State 652

   64 ReferenceType: ReferenceType . '.' Identifier
   65              | ReferenceType . '.' Identifier TypeArguments
  184 VariableDeclaratorId: . Identifier
  185                     | . Identifier ArrayDesignatorList
  249 Resource: VariableModifierList ReferenceType . VariableDeclaratorId '=' Expression

    Identifier  shift, and go to state 509
    '.'         shift, and go to state 191

    VariableDeclaratorId  go to state 725


State 653

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  179 VariableModifier: . "final"
  180                 | . Annotation
  239 CatchClause: "catch" '(' . CatchType Identifier ')' Block
  240            | "catch" '(' . VariableModifierList CatchType Identifier ')' Block
  241 CatchType: . QualifiedIdentifier
  242          | . QualifiedIdentifier PipeSeparatedQualifiedIdentifierList
  439 VariableModifierList: . VariableModifier
  440                     | . VariableModifierList VariableModifier

    Identifier  shift, and go to state 35
    '@'         shift, and go to state 50
    "final"     shift, and go to state 359

    QualifiedIdentifier   go to state 726
    Annotation            go to state 362
    VariableModifier      go to state 225
    CatchType             go to state 727
    VariableModifierList  go to state 728


State 654

  243 Finally: "finally" Block .

    $default  reduce using rule 243 (Finally)


State 655

  238 Catches: Catches CatchClause .

    $default  reduce using rule 238 (Catches)


State 656

  231 Statement: "try" Block Catches Finally .

    $default  reduce using rule 231 (Statement)


State 657

  234 Statement: "try" ResourceSpecification Block Catches .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, ';', "static", "class", "enum", "interface", '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', "super", "public", "protected", "private", "abstract", "final", "native", "synchronized", "transient", "volatile", "strictfp", '(', '{', '}', "void", "if", "else", "assert", "switch", "while", "do", "for", "break", "continue", "return", "throw", "try", "case", "default", '+', '-', "++", "--", '!', '~', "this", "new"]
  235          | "try" ResourceSpecification Block Catches . Finally
  238 Catches: Catches . CatchClause
  239 CatchClause: . "catch" '(' CatchType Identifier ')' Block
  240            | . "catch" '(' VariableModifierList CatchType Identifier ')' Block
  243 Finally: . "finally" Block

    "catch"    shift, and go to state 543
    "finally"  shift, and go to state 544

    $default  reduce using rule 234 (Statement)

    CatchClause  go to state 655
    Finally      go to state 729


State 658

  233 Statement: "try" ResourceSpecification Block Finally .

    $default  reduce using rule 233 (Statement)


State 659

  441 VariableDeclaratorList: ',' VariableDeclarator .

    $default  reduce using rule 441 (VariableDeclaratorList)


State 660

  188 VariableDeclarator: . Identifier VariableDeclaratorRest
  442 VariableDeclaratorList: VariableDeclaratorList ',' . VariableDeclarator

    Identifier  shift, and go to state 389

    VariableDeclarator  go to state 730


State 661

  208 LocalVariableDeclarationStatement: VariableModifierList Type VariableDeclarators ';' .

    $default  reduce using rule 208 (LocalVariableDeclarationStatement)


State 662

    4 QualifiedIdentifierList: QualifiedIdentifierList . ',' QualifiedIdentifier
  137 VoidMethodDeclaratorRest: FormalParameters "throws" QualifiedIdentifierList . ';'
  138                         | FormalParameters "throws" QualifiedIdentifierList . Block
  200 Block: . '{' BlockStatements '}'

    ','  shift, and go to state 630
    ';'  shift, and go to state 731
    '{'  shift, and go to state 103

    Block  go to state 732


State 663

  195 ArrayInitializer: '{' '}' .

    $default  reduce using rule 195 (ArrayInitializer)


State 664

  196 ArrayInitializer: '{' VariableInitializer . '}'
  197                 | '{' VariableInitializer . ',' '}'
  198                 | '{' VariableInitializer . VariableInitializerList '}'
  199                 | '{' VariableInitializer . VariableInitializerList ',' '}'
  457 VariableInitializerList: . ',' VariableInitializer
  458                        | . VariableInitializerList ',' VariableInitializer

    ','  shift, and go to state 733
    '}'  shift, and go to state 734

    VariableInitializerList  go to state 735


State 665

    4 QualifiedIdentifierList: QualifiedIdentifierList . ',' QualifiedIdentifier
  129 MethodDeclaratorRest: FormalParameters "throws" QualifiedIdentifierList . ';'
  130                     | FormalParameters "throws" QualifiedIdentifierList . Block
  200 Block: . '{' BlockStatements '}'

    ','  shift, and go to state 630
    ';'  shift, and go to state 736
    '{'  shift, and go to state 103

    Block  go to state 737


State 666

  131 MethodDeclaratorRest: FormalParameters ArrayDesignatorList ';' .

    $default  reduce using rule 131 (MethodDeclaratorRest)


State 667

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
    3 QualifiedIdentifierList: . QualifiedIdentifier
    4                        | . QualifiedIdentifierList ',' QualifiedIdentifier
  133 MethodDeclaratorRest: FormalParameters ArrayDesignatorList "throws" . QualifiedIdentifierList ';'
  134                     | FormalParameters ArrayDesignatorList "throws" . QualifiedIdentifierList Block

    Identifier  shift, and go to state 35

    QualifiedIdentifier      go to state 516
    QualifiedIdentifierList  go to state 738


State 668

  132 MethodDeclaratorRest: FormalParameters ArrayDesignatorList Block .

    $default  reduce using rule 132 (MethodDeclaratorRest)


State 669

  192 VariableDeclaratorRest: ArrayDesignatorList '=' VariableInitializer .

    $default  reduce using rule 192 (VariableDeclaratorRest)


State 670

   42 NormalClassDeclaration: "class" Identifier TypeParameters "extends" Type "implements" TypeList ClassBody .

    $default  reduce using rule 42 (NormalClassDeclaration)


State 671

  449 ExpressionList: ',' Expression .

    $default  reduce using rule 449 (ExpressionList)


State 672

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'
  450 ExpressionList: ExpressionList ',' . Expression

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Expression                go to state 739
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 673

  356 Arguments: '(' Expression ExpressionList ')' .

    $default  reduce using rule 356 (Arguments)


State 674

    4 QualifiedIdentifierList: QualifiedIdentifierList . ',' QualifiedIdentifier
  172 VoidInterfaceMethodDeclaratorRest: FormalParameters "throws" QualifiedIdentifierList . ';'

    ','  shift, and go to state 630
    ';'  shift, and go to state 740


State 675

  162 ConstantDeclaratorRest: . '=' VariableInitializer
  163                       | . ArrayDesignatorList '=' VariableInitializer
  166 ConstantDeclarator: Identifier . ConstantDeclaratorRest
  467 ArrayDesignatorList: . '[' ']'
  468                    | . ArrayDesignatorList '[' ']'

    '='  shift, and go to state 438
    '['  shift, and go to state 196

    ConstantDeclaratorRest  go to state 741
    ArrayDesignatorList     go to state 444


State 676

  164 ConstantDeclaratorList: ',' ConstantDeclarator .

    $default  reduce using rule 164 (ConstantDeclaratorList)


State 677

  165 ConstantDeclaratorList: ConstantDeclaratorList ',' . ConstantDeclarator
  166 ConstantDeclarator: . Identifier ConstantDeclaratorRest

    Identifier  shift, and go to state 675

    ConstantDeclarator  go to state 742


State 678

    4 QualifiedIdentifierList: QualifiedIdentifierList . ',' QualifiedIdentifier
  168 InterfaceMethodDeclaratorRest: FormalParameters "throws" QualifiedIdentifierList . ';'

    ','  shift, and go to state 630
    ';'  shift, and go to state 743


State 679

  169 InterfaceMethodDeclaratorRest: FormalParameters ArrayDesignatorList ';' .

    $default  reduce using rule 169 (InterfaceMethodDeclaratorRest)


State 680

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
    3 QualifiedIdentifierList: . QualifiedIdentifier
    4                        | . QualifiedIdentifierList ',' QualifiedIdentifier
  170 InterfaceMethodDeclaratorRest: FormalParameters ArrayDesignatorList "throws" . QualifiedIdentifierList ';'

    Identifier  shift, and go to state 35

    QualifiedIdentifier      go to state 516
    QualifiedIdentifierList  go to state 744


State 681

  163 ConstantDeclaratorRest: ArrayDesignatorList '=' VariableInitializer .

    $default  reduce using rule 163 (ConstantDeclaratorRest)


State 682

  429 AnnotationMethodRest: '(' ')' .  [';']
  430                     | '(' ')' . "default" ElementValue
  431                     | '(' ')' . '[' ']'
  432                     | '(' ')' . '[' ']' "default" ElementValue

    "default"  shift, and go to state 745
    '['        shift, and go to state 746

    $default  reduce using rule 429 (AnnotationMethodRest)


State 683

  424 AnnotationTypeElementRest: Type Identifier AnnotationMethodOrConstantRest ';' .

    $default  reduce using rule 424 (AnnotationTypeElementRest)


State 684

   62 ReferenceType: . Identifier
   63              | . Identifier TypeArguments
   64              | . ReferenceType '.' Identifier
   65              | . ReferenceType '.' Identifier TypeArguments
   71 NonWildcardTypeArguments: '<' . TypeList '>'
   72 TypeList: . ReferenceType
   73         | . TypeList ',' ReferenceType
   76 NonWildcardTypeArgumentsOrDiamond: '<' . '>'

    Identifier  shift, and go to state 83
    '>'         shift, and go to state 747

    ReferenceType  go to state 84
    TypeList       go to state 283


State 685

   77 NonWildcardTypeArgumentsOrDiamond: NonWildcardTypeArguments .

    $default  reduce using rule 77 (NonWildcardTypeArgumentsOrDiamond)


State 686

  354 Arguments: . '(' ')'
  355          | . '(' Expression ')'
  356          | . '(' Expression ExpressionList ')'
  369 ClassCreatorRest: . Arguments
  370                 | . Arguments ClassBody
  389 InnerCreator: Identifier NonWildcardTypeArgumentsOrDiamond . ClassCreatorRest

    '('  shift, and go to state 250

    Arguments         go to state 477
    ClassCreatorRest  go to state 748


State 687

  388 InnerCreator: Identifier ClassCreatorRest .

    $default  reduce using rule 388 (InnerCreator)


State 688

  386 IdentifierSuffix: '.' "new" NonWildcardTypeArguments InnerCreator .

    $default  reduce using rule 386 (IdentifierSuffix)


State 689

  378 IdentifierSuffix: '[' '.' "class" ']' .

    $default  reduce using rule 378 (IdentifierSuffix)


State 690

  379 IdentifierSuffix: '[' ArrayDesignatorList '.' "class" . ']'

    ']'  shift, and go to state 749


State 691

  472 DiamondKindIdentifierList: '.' Identifier TypeArgumentsOrDiamond .

    $default  reduce using rule 472 (DiamondKindIdentifierList)


State 692

   66 TypeArguments: . '<' TypeArgumentList '>'
   74 TypeArgumentsOrDiamond: . '<' '>'
   75                       | . TypeArguments
  473 DiamondKindIdentifierList: DiamondKindIdentifierList '.' Identifier .  ['.', '(', '[']
  474                          | DiamondKindIdentifierList '.' Identifier . TypeArgumentsOrDiamond

    '<'  shift, and go to state 471

    $default  reduce using rule 473 (DiamondKindIdentifierList)

    TypeArguments           go to state 472
    TypeArgumentsOrDiamond  go to state 750


State 693

  372 ArrayCreatorRest: '[' ']' ArrayInitializer .

    $default  reduce using rule 372 (ArrayCreatorRest)


State 694

  195 ArrayInitializer: . '{' '}'
  196                 | . '{' VariableInitializer '}'
  197                 | . '{' VariableInitializer ',' '}'
  198                 | . '{' VariableInitializer VariableInitializerList '}'
  199                 | . '{' VariableInitializer VariableInitializerList ',' '}'
  374 ArrayCreatorRest: '[' ']' ArrayDesignatorList . ArrayInitializer
  468 ArrayDesignatorList: ArrayDesignatorList . '[' ']'

    '{'  shift, and go to state 558
    '['  shift, and go to state 355

    ArrayInitializer  go to state 751


State 695

  371 ArrayCreatorRest: '[' Expression ']' .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, '.', ',', ';', '*', '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', '>', '?', "super", '&', '(', ')', '=', '{', '}', "void", ':', "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", "instanceof", "||", "&&", '|', '^', "==", "!=", "<=", ">=", "<<", ">>", ">>>", '+', '-', '/', '%', "++", "--", '!', '~', "this", "new", '[', ']']
  373                 | '[' Expression ']' . ArrayDesignatorList
  375                 | '[' Expression ']' . SubscriptExpressionList
  376                 | '[' Expression ']' . SubscriptExpressionList ArrayDesignatorList
  443 SubscriptExpressionList: . '[' Expression ']'
  444                        | . SubscriptExpressionList '[' Expression ']'
  467 ArrayDesignatorList: . '[' ']'
  468                    | . ArrayDesignatorList '[' ']'

    '['  shift, and go to state 752

    '['       [reduce using rule 371 (ArrayCreatorRest)]
    $default  reduce using rule 371 (ArrayCreatorRest)

    SubscriptExpressionList  go to state 753
    ArrayDesignatorList      go to state 754


State 696

  294 Expression1Rest: '?' Expression ':' Expression1 .

    $default  reduce using rule 294 (Expression1Rest)


State 697

  396 Selector: '.' "new" NonWildcardTypeArguments InnerCreator .

    $default  reduce using rule 396 (Selector)


State 698

  182 FormalParameterDeclsRest: VariableDeclaratorId ',' FormalParameterDecls .

    $default  reduce using rule 182 (FormalParameterDeclsRest)


State 699

  142 ConstructorDeclaratorRest: FormalParameters "throws" QualifiedIdentifierList API_ELISION ';' .

    $default  reduce using rule 142 (ConstructorDeclaratorRest)


State 700

    2 QualifiedIdentifier: QualifiedIdentifier . '.' Identifier
    4 QualifiedIdentifierList: QualifiedIdentifierList ',' QualifiedIdentifier .  [API_ELISION, ',', ';', '{']

    '.'  shift, and go to state 54

    $default  reduce using rule 4 (QualifiedIdentifierList)


State 701

  214 Statement: "if" ParExpression Statement "else" Statement .

    $default  reduce using rule 214 (Statement)


State 702

  216 Statement: "assert" Expression ':' Expression ';' .

    $default  reduce using rule 216 (Statement)


State 703

    1 QualifiedIdentifier: Identifier .  ['.', '*', '<', '>', '?', '&', '(', '=', ':', "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", "instanceof", "||", "&&", '|', '^', "==", "!=", "<=", ">=", "<<", ">>", ">>>", '+', '-', '/', '%', "++", "--", '[']
  258 EnumConstantName: Identifier .  [':']
  341 Primary: Identifier . IdentifierSuffix
  354 Arguments: . '(' ')'
  355          | . '(' Expression ')'
  356          | . '(' Expression ExpressionList ')'
  377 IdentifierSuffix: . '[' Expression ']'
  378                 | . '[' '.' "class" ']'
  379                 | . '[' ArrayDesignatorList '.' "class" ']'
  380                 | . Arguments
  381                 | . '.' "new" InnerCreator
  382                 | . '.' "super" Arguments
  383                 | . '.' "this"
  384                 | . '.' ExplicitGenericInvocation
  385                 | . '.' "class"
  386                 | . '.' "new" NonWildcardTypeArguments InnerCreator

    '.'  shift, and go to state 278
    '('  shift, and go to state 250
    '['  shift, and go to state 280

    '.'       [reduce using rule 1 (QualifiedIdentifier)]
    '('       [reduce using rule 1 (QualifiedIdentifier)]
    ':'       reduce using rule 1 (QualifiedIdentifier)
    ':'       [reduce using rule 258 (EnumConstantName)]
    '['       [reduce using rule 1 (QualifiedIdentifier)]
    $default  reduce using rule 1 (QualifiedIdentifier)

    Arguments         go to state 281
    IdentifierSuffix  go to state 282


State 704

  256 SwitchLabel: "case" EnumConstantName . ':'

    ':'  shift, and go to state 755


State 705

  255 SwitchLabel: "case" Expression . ':'

    ':'  shift, and go to state 756


State 706

  257 SwitchLabel: "default" ':' .

    $default  reduce using rule 257 (SwitchLabel)


State 707

  217 Statement: "switch" ParExpression '{' SwitchBlockStatementGroups '}' .

    $default  reduce using rule 217 (Statement)


State 708

  252 SwitchBlockStatementGroup: SwitchLabels BlockStatements .

    $default  reduce using rule 252 (SwitchBlockStatementGroup)


State 709

  254 SwitchLabels: SwitchLabels SwitchLabel .

    $default  reduce using rule 254 (SwitchLabels)


State 710

  464 SwitchBlockStatementGroupList: SwitchBlockStatementGroupList SwitchBlockStatementGroup .

    $default  reduce using rule 464 (SwitchBlockStatementGroupList)


State 711

  219 Statement: "do" Statement "while" ParExpression ';' .

    $default  reduce using rule 219 (Statement)


State 712

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  193 VariableInitializer: . ArrayInitializer
  194                    | . Expression
  195 ArrayInitializer: . '{' '}'
  196                 | . '{' VariableInitializer '}'
  197                 | . '{' VariableInitializer ',' '}'
  198                 | . '{' VariableInitializer VariableInitializerList '}'
  199                 | . '{' VariableInitializer VariableInitializerList ',' '}'
  272 ForVariableDeclaratorsRest: '=' . VariableInitializer
  274                           | '=' . VariableInitializer VariableDeclaratorList
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    '{'                   shift, and go to state 558
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    VariableInitializer       go to state 757
    ArrayInitializer          go to state 560
    Expression                go to state 561
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 713

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  270 ForVarControlRest: ':' . Expression
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Expression                go to state 758
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 714

  264 ForVarControl: Type VariableDeclaratorId ForVarControlRest .

    $default  reduce using rule 264 (ForVarControl)


State 715

  266 ForVarControlRest: ForVariableDeclaratorsRest . ';' ';'
  267                  | ForVariableDeclaratorsRest . ';' ';' ForUpdate
  268                  | ForVariableDeclaratorsRest . ';' Expression ';'
  269                  | ForVariableDeclaratorsRest . ';' Expression ';' ForUpdate

    ';'  shift, and go to state 759


State 716

  273 ForVariableDeclaratorsRest: VariableDeclaratorList .  [';']
  442 VariableDeclaratorList: VariableDeclaratorList . ',' VariableDeclarator

    ','  shift, and go to state 660

    $default  reduce using rule 273 (ForVariableDeclaratorsRest)


State 717

  220 Statement: "for" '(' ForControl ')' Statement .

    $default  reduce using rule 220 (Statement)


State 718

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  236 StatementExpression: . Expression
  260 ForControl: ForInit ';' ';' .  [')']
  261           | ForInit ';' ';' . ForUpdate
  276 ForUpdate: . StatementExpression
  277          | . ForUpdate ',' StatementExpression
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    $default  reduce using rule 260 (ForControl)

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    StatementExpression       go to state 529
    ForUpdate                 go to state 760
    Expression                go to state 232
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 719

  262 ForControl: ForInit ';' Expression . ';'
  263           | ForInit ';' Expression . ';' ForUpdate

    ';'  shift, and go to state 761


State 720

  277 ForUpdate: ForUpdate ',' StatementExpression .

    $default  reduce using rule 277 (ForUpdate)


State 721

  265 ForVarControl: VariableModifierList Type VariableDeclaratorId . ForVarControlRest
  266 ForVarControlRest: . ForVariableDeclaratorsRest ';' ';'
  267                  | . ForVariableDeclaratorsRest ';' ';' ForUpdate
  268                  | . ForVariableDeclaratorsRest ';' Expression ';'
  269                  | . ForVariableDeclaratorsRest ';' Expression ';' ForUpdate
  270                  | . ':' Expression
  271 ForVariableDeclaratorsRest: . %empty  [';']
  272                           | . '=' VariableInitializer
  273                           | . VariableDeclaratorList
  274                           | . '=' VariableInitializer VariableDeclaratorList
  441 VariableDeclaratorList: . ',' VariableDeclarator
  442                       | . VariableDeclaratorList ',' VariableDeclarator

    ','  shift, and go to state 551
    '='  shift, and go to state 712
    ':'  shift, and go to state 713

    $default  reduce using rule 271 (ForVariableDeclaratorsRest)

    ForVarControlRest           go to state 762
    ForVariableDeclaratorsRest  go to state 715
    VariableDeclaratorList      go to state 716


State 722

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  248 Resource: ReferenceType VariableDeclaratorId '=' . Expression
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Expression                go to state 763
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 723

  245 ResourceSpecification: '(' Resources ';' ')' .

    $default  reduce using rule 245 (ResourceSpecification)


State 724

  247 Resources: Resources ';' Resource .

    $default  reduce using rule 247 (Resources)


State 725

  249 Resource: VariableModifierList ReferenceType VariableDeclaratorId . '=' Expression

    '='  shift, and go to state 764


State 726

    2 QualifiedIdentifier: QualifiedIdentifier . '.' Identifier
  241 CatchType: QualifiedIdentifier .  [Identifier]
  242          | QualifiedIdentifier . PipeSeparatedQualifiedIdentifierList
  437 PipeSeparatedQualifiedIdentifierList: . '|' QualifiedIdentifier
  438                                     | . PipeSeparatedQualifiedIdentifierList '|' QualifiedIdentifier

    '.'  shift, and go to state 54
    '|'  shift, and go to state 765

    $default  reduce using rule 241 (CatchType)

    PipeSeparatedQualifiedIdentifierList  go to state 766


State 727

  239 CatchClause: "catch" '(' CatchType . Identifier ')' Block

    Identifier  shift, and go to state 767


State 728

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  179 VariableModifier: . "final"
  180                 | . Annotation
  240 CatchClause: "catch" '(' VariableModifierList . CatchType Identifier ')' Block
  241 CatchType: . QualifiedIdentifier
  242          | . QualifiedIdentifier PipeSeparatedQualifiedIdentifierList
  440 VariableModifierList: VariableModifierList . VariableModifier

    Identifier  shift, and go to state 35
    '@'         shift, and go to state 50
    "final"     shift, and go to state 359

    QualifiedIdentifier  go to state 726
    Annotation           go to state 362
    VariableModifier     go to state 409
    CatchType            go to state 768


State 729

  235 Statement: "try" ResourceSpecification Block Catches Finally .

    $default  reduce using rule 235 (Statement)


State 730

  442 VariableDeclaratorList: VariableDeclaratorList ',' VariableDeclarator .

    $default  reduce using rule 442 (VariableDeclaratorList)


State 731

  137 VoidMethodDeclaratorRest: FormalParameters "throws" QualifiedIdentifierList ';' .

    $default  reduce using rule 137 (VoidMethodDeclaratorRest)


State 732

  138 VoidMethodDeclaratorRest: FormalParameters "throws" QualifiedIdentifierList Block .

    $default  reduce using rule 138 (VoidMethodDeclaratorRest)


State 733

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  193 VariableInitializer: . ArrayInitializer
  194                    | . Expression
  195 ArrayInitializer: . '{' '}'
  196                 | . '{' VariableInitializer '}'
  197                 | . '{' VariableInitializer ',' '}'
  197                 | '{' VariableInitializer ',' . '}'
  198                 | . '{' VariableInitializer VariableInitializerList '}'
  199                 | . '{' VariableInitializer VariableInitializerList ',' '}'
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'
  457 VariableInitializerList: ',' . VariableInitializer

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    '{'                   shift, and go to state 558
    '}'                   shift, and go to state 769
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    VariableInitializer       go to state 770
    ArrayInitializer          go to state 560
    Expression                go to state 561
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 734

  196 ArrayInitializer: '{' VariableInitializer '}' .

    $default  reduce using rule 196 (ArrayInitializer)


State 735

  198 ArrayInitializer: '{' VariableInitializer VariableInitializerList . '}'
  199                 | '{' VariableInitializer VariableInitializerList . ',' '}'
  458 VariableInitializerList: VariableInitializerList . ',' VariableInitializer

    ','  shift, and go to state 771
    '}'  shift, and go to state 772


State 736

  129 MethodDeclaratorRest: FormalParameters "throws" QualifiedIdentifierList ';' .

    $default  reduce using rule 129 (MethodDeclaratorRest)


State 737

  130 MethodDeclaratorRest: FormalParameters "throws" QualifiedIdentifierList Block .

    $default  reduce using rule 130 (MethodDeclaratorRest)


State 738

    4 QualifiedIdentifierList: QualifiedIdentifierList . ',' QualifiedIdentifier
  133 MethodDeclaratorRest: FormalParameters ArrayDesignatorList "throws" QualifiedIdentifierList . ';'
  134                     | FormalParameters ArrayDesignatorList "throws" QualifiedIdentifierList . Block
  200 Block: . '{' BlockStatements '}'

    ','  shift, and go to state 630
    ';'  shift, and go to state 773
    '{'  shift, and go to state 103

    Block  go to state 774


State 739

  450 ExpressionList: ExpressionList ',' Expression .

    $default  reduce using rule 450 (ExpressionList)


State 740

  172 VoidInterfaceMethodDeclaratorRest: FormalParameters "throws" QualifiedIdentifierList ';' .

    $default  reduce using rule 172 (VoidInterfaceMethodDeclaratorRest)


State 741

  166 ConstantDeclarator: Identifier ConstantDeclaratorRest .

    $default  reduce using rule 166 (ConstantDeclarator)


State 742

  165 ConstantDeclaratorList: ConstantDeclaratorList ',' ConstantDeclarator .

    $default  reduce using rule 165 (ConstantDeclaratorList)


State 743

  168 InterfaceMethodDeclaratorRest: FormalParameters "throws" QualifiedIdentifierList ';' .

    $default  reduce using rule 168 (InterfaceMethodDeclaratorRest)


State 744

    4 QualifiedIdentifierList: QualifiedIdentifierList . ',' QualifiedIdentifier
  170 InterfaceMethodDeclaratorRest: FormalParameters ArrayDesignatorList "throws" QualifiedIdentifierList . ';'

    ','  shift, and go to state 630
    ';'  shift, and go to state 775


State 745

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  105 ElementValue: . Annotation
  106             | . Expression1
  107             | . ElementValueArrayInitializer
  108 ElementValueArrayInitializer: . '{' ElementValuesList '}'
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'
  430 AnnotationMethodRest: '(' ')' "default" . ElementValue

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    '@'                   shift, and go to state 50
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    '{'                   shift, and go to state 159
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier           go to state 169
    BasicType                     go to state 170
    NonWildcardTypeArguments      go to state 171
    Annotation                    go to state 172
    ElementValue                  go to state 776
    ElementValueArrayInitializer  go to state 177
    Expression1                   go to state 178
    Expression2                   go to state 179
    Expression3                   go to state 180
    PrefixOp                      go to state 181
    Primary                       go to state 182
    Literal                       go to state 183
    ParExpression                 go to state 184


State 746

  431 AnnotationMethodRest: '(' ')' '[' . ']'
  432                     | '(' ')' '[' . ']' "default" ElementValue

    ']'  shift, and go to state 777


State 747

   76 NonWildcardTypeArgumentsOrDiamond: '<' '>' .

    $default  reduce using rule 76 (NonWildcardTypeArgumentsOrDiamond)


State 748

  389 InnerCreator: Identifier NonWildcardTypeArgumentsOrDiamond ClassCreatorRest .

    $default  reduce using rule 389 (InnerCreator)


State 749

  379 IdentifierSuffix: '[' ArrayDesignatorList '.' "class" ']' .

    $default  reduce using rule 379 (IdentifierSuffix)


State 750

  474 DiamondKindIdentifierList: DiamondKindIdentifierList '.' Identifier TypeArgumentsOrDiamond .

    $default  reduce using rule 474 (DiamondKindIdentifierList)


State 751

  374 ArrayCreatorRest: '[' ']' ArrayDesignatorList ArrayInitializer .

    $default  reduce using rule 374 (ArrayCreatorRest)


State 752

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'
  443 SubscriptExpressionList: '[' . Expression ']'
  467 ArrayDesignatorList: '[' . ']'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168
    ']'                   shift, and go to state 354

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Expression                go to state 778
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 753

  375 ArrayCreatorRest: '[' Expression ']' SubscriptExpressionList .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, '.', ',', ';', '*', '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', '>', '?', "super", '&', '(', ')', '=', '{', '}', "void", ':', "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", "instanceof", "||", "&&", '|', '^', "==", "!=", "<=", ">=", "<<", ">>", ">>>", '+', '-', '/', '%', "++", "--", '!', '~', "this", "new", '[', ']']
  376                 | '[' Expression ']' SubscriptExpressionList . ArrayDesignatorList
  444 SubscriptExpressionList: SubscriptExpressionList . '[' Expression ']'
  467 ArrayDesignatorList: . '[' ']'
  468                    | . ArrayDesignatorList '[' ']'

    '['  shift, and go to state 779

    '['       [reduce using rule 375 (ArrayCreatorRest)]
    $default  reduce using rule 375 (ArrayCreatorRest)

    ArrayDesignatorList  go to state 780


State 754

  373 ArrayCreatorRest: '[' Expression ']' ArrayDesignatorList .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, '.', ',', ';', '*', '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', '>', '?', "super", '&', '(', ')', '=', '{', '}', "void", ':', "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", "instanceof", "||", "&&", '|', '^', "==", "!=", "<=", ">=", "<<", ">>", ">>>", '+', '-', '/', '%', "++", "--", '!', '~', "this", "new", '[', ']']
  468 ArrayDesignatorList: ArrayDesignatorList . '[' ']'

    '['  shift, and go to state 355

    '['       [reduce using rule 373 (ArrayCreatorRest)]
    $default  reduce using rule 373 (ArrayCreatorRest)


State 755

  256 SwitchLabel: "case" EnumConstantName ':' .

    $default  reduce using rule 256 (SwitchLabel)


State 756

  255 SwitchLabel: "case" Expression ':' .

    $default  reduce using rule 255 (SwitchLabel)


State 757

  272 ForVariableDeclaratorsRest: '=' VariableInitializer .  [';']
  274                           | '=' VariableInitializer . VariableDeclaratorList
  441 VariableDeclaratorList: . ',' VariableDeclarator
  442                       | . VariableDeclaratorList ',' VariableDeclarator

    ','  shift, and go to state 551

    $default  reduce using rule 272 (ForVariableDeclaratorsRest)

    VariableDeclaratorList  go to state 781


State 758

  270 ForVarControlRest: ':' Expression .

    $default  reduce using rule 270 (ForVarControlRest)


State 759

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  266 ForVarControlRest: ForVariableDeclaratorsRest ';' . ';'
  267                  | ForVariableDeclaratorsRest ';' . ';' ForUpdate
  268                  | ForVariableDeclaratorsRest ';' . Expression ';'
  269                  | ForVariableDeclaratorsRest ';' . Expression ';' ForUpdate
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    ';'                   shift, and go to state 782
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Expression                go to state 783
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 760

  261 ForControl: ForInit ';' ';' ForUpdate .  [')']
  277 ForUpdate: ForUpdate . ',' StatementExpression

    ','  shift, and go to state 647

    $default  reduce using rule 261 (ForControl)


State 761

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  236 StatementExpression: . Expression
  262 ForControl: ForInit ';' Expression ';' .  [')']
  263           | ForInit ';' Expression ';' . ForUpdate
  276 ForUpdate: . StatementExpression
  277          | . ForUpdate ',' StatementExpression
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    $default  reduce using rule 262 (ForControl)

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    StatementExpression       go to state 529
    ForUpdate                 go to state 784
    Expression                go to state 232
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 762

  265 ForVarControl: VariableModifierList Type VariableDeclaratorId ForVarControlRest .

    $default  reduce using rule 265 (ForVarControl)


State 763

  248 Resource: ReferenceType VariableDeclaratorId '=' Expression .

    $default  reduce using rule 248 (Resource)


State 764

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  249 Resource: VariableModifierList ReferenceType VariableDeclaratorId '=' . Expression
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Expression                go to state 785
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 765

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
  437 PipeSeparatedQualifiedIdentifierList: '|' . QualifiedIdentifier

    Identifier  shift, and go to state 35

    QualifiedIdentifier  go to state 786


State 766

  242 CatchType: QualifiedIdentifier PipeSeparatedQualifiedIdentifierList .  [Identifier]
  438 PipeSeparatedQualifiedIdentifierList: PipeSeparatedQualifiedIdentifierList . '|' QualifiedIdentifier

    '|'  shift, and go to state 787

    $default  reduce using rule 242 (CatchType)


State 767

  239 CatchClause: "catch" '(' CatchType Identifier . ')' Block

    ')'  shift, and go to state 788


State 768

  240 CatchClause: "catch" '(' VariableModifierList CatchType . Identifier ')' Block

    Identifier  shift, and go to state 789


State 769

  197 ArrayInitializer: '{' VariableInitializer ',' '}' .

    $default  reduce using rule 197 (ArrayInitializer)


State 770

  457 VariableInitializerList: ',' VariableInitializer .

    $default  reduce using rule 457 (VariableInitializerList)


State 771

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  193 VariableInitializer: . ArrayInitializer
  194                    | . Expression
  195 ArrayInitializer: . '{' '}'
  196                 | . '{' VariableInitializer '}'
  197                 | . '{' VariableInitializer ',' '}'
  198                 | . '{' VariableInitializer VariableInitializerList '}'
  199                 | . '{' VariableInitializer VariableInitializerList ',' '}'
  199                 | '{' VariableInitializer VariableInitializerList ',' . '}'
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'
  458 VariableInitializerList: VariableInitializerList ',' . VariableInitializer

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    '{'                   shift, and go to state 558
    '}'                   shift, and go to state 790
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    VariableInitializer       go to state 791
    ArrayInitializer          go to state 560
    Expression                go to state 561
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 772

  198 ArrayInitializer: '{' VariableInitializer VariableInitializerList '}' .

    $default  reduce using rule 198 (ArrayInitializer)


State 773

  133 MethodDeclaratorRest: FormalParameters ArrayDesignatorList "throws" QualifiedIdentifierList ';' .

    $default  reduce using rule 133 (MethodDeclaratorRest)


State 774

  134 MethodDeclaratorRest: FormalParameters ArrayDesignatorList "throws" QualifiedIdentifierList Block .

    $default  reduce using rule 134 (MethodDeclaratorRest)


State 775

  170 InterfaceMethodDeclaratorRest: FormalParameters ArrayDesignatorList "throws" QualifiedIdentifierList ';' .

    $default  reduce using rule 170 (InterfaceMethodDeclaratorRest)


State 776

  430 AnnotationMethodRest: '(' ')' "default" ElementValue .

    $default  reduce using rule 430 (AnnotationMethodRest)


State 777

  431 AnnotationMethodRest: '(' ')' '[' ']' .  [';']
  432                     | '(' ')' '[' ']' . "default" ElementValue

    "default"  shift, and go to state 792

    $default  reduce using rule 431 (AnnotationMethodRest)


State 778

  443 SubscriptExpressionList: '[' Expression . ']'

    ']'  shift, and go to state 793


State 779

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'
  444 SubscriptExpressionList: SubscriptExpressionList '[' . Expression ']'
  467 ArrayDesignatorList: '[' . ']'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168
    ']'                   shift, and go to state 354

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    Expression                go to state 794
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 780

  376 ArrayCreatorRest: '[' Expression ']' SubscriptExpressionList ArrayDesignatorList .  [BooleanLiteral, CharacterLiteral, FloatingPointLiteral, IntegerLiteral, NullLiteral, StringLiteral, Identifier, '.', ',', ';', '*', '@', "byte", "short", "char", "int", "long", "float", "double", "boolean", '<', '>', '?', "super", '&', '(', ')', '=', '{', '}', "void", ':', "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", "instanceof", "||", "&&", '|', '^', "==", "!=", "<=", ">=", "<<", ">>", ">>>", '+', '-', '/', '%', "++", "--", '!', '~', "this", "new", '[', ']']
  468 ArrayDesignatorList: ArrayDesignatorList . '[' ']'

    '['  shift, and go to state 355

    '['       [reduce using rule 376 (ArrayCreatorRest)]
    $default  reduce using rule 376 (ArrayCreatorRest)


State 781

  274 ForVariableDeclaratorsRest: '=' VariableInitializer VariableDeclaratorList .  [';']
  442 VariableDeclaratorList: VariableDeclaratorList . ',' VariableDeclarator

    ','  shift, and go to state 660

    $default  reduce using rule 274 (ForVariableDeclaratorsRest)


State 782

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  236 StatementExpression: . Expression
  266 ForVarControlRest: ForVariableDeclaratorsRest ';' ';' .  [')']
  267                  | ForVariableDeclaratorsRest ';' ';' . ForUpdate
  276 ForUpdate: . StatementExpression
  277          | . ForUpdate ',' StatementExpression
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    $default  reduce using rule 266 (ForVarControlRest)

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    StatementExpression       go to state 529
    ForUpdate                 go to state 795
    Expression                go to state 232
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 783

  268 ForVarControlRest: ForVariableDeclaratorsRest ';' Expression . ';'
  269                  | ForVariableDeclaratorsRest ';' Expression . ';' ForUpdate

    ';'  shift, and go to state 796


State 784

  263 ForControl: ForInit ';' Expression ';' ForUpdate .  [')']
  277 ForUpdate: ForUpdate . ',' StatementExpression

    ','  shift, and go to state 647

    $default  reduce using rule 263 (ForControl)


State 785

  249 Resource: VariableModifierList ReferenceType VariableDeclaratorId '=' Expression .

    $default  reduce using rule 249 (Resource)


State 786

    2 QualifiedIdentifier: QualifiedIdentifier . '.' Identifier
  437 PipeSeparatedQualifiedIdentifierList: '|' QualifiedIdentifier .  [Identifier, '|']

    '.'  shift, and go to state 54

    $default  reduce using rule 437 (PipeSeparatedQualifiedIdentifierList)


State 787

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
  438 PipeSeparatedQualifiedIdentifierList: PipeSeparatedQualifiedIdentifierList '|' . QualifiedIdentifier

    Identifier  shift, and go to state 35

    QualifiedIdentifier  go to state 797


State 788

  200 Block: . '{' BlockStatements '}'
  239 CatchClause: "catch" '(' CatchType Identifier ')' . Block

    '{'  shift, and go to state 103

    Block  go to state 798


State 789

  240 CatchClause: "catch" '(' VariableModifierList CatchType Identifier . ')' Block

    ')'  shift, and go to state 799


State 790

  199 ArrayInitializer: '{' VariableInitializer VariableInitializerList ',' '}' .

    $default  reduce using rule 199 (ArrayInitializer)


State 791

  458 VariableInitializerList: VariableInitializerList ',' VariableInitializer .

    $default  reduce using rule 458 (VariableInitializerList)


State 792

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
   97 Annotation: . '@' QualifiedIdentifier
   98           | . '@' QualifiedIdentifier '(' ')'
   99           | . '@' QualifiedIdentifier '(' AnnotationElement ')'
  105 ElementValue: . Annotation
  106             | . Expression1
  107             | . ElementValueArrayInitializer
  108 ElementValueArrayInitializer: . '{' ElementValuesList '}'
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'
  432 AnnotationMethodRest: '(' ')' '[' ']' "default" . ElementValue

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    '@'                   shift, and go to state 50
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    '{'                   shift, and go to state 159
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    QualifiedIdentifier           go to state 169
    BasicType                     go to state 170
    NonWildcardTypeArguments      go to state 171
    Annotation                    go to state 172
    ElementValue                  go to state 800
    ElementValueArrayInitializer  go to state 177
    Expression1                   go to state 178
    Expression2                   go to state 179
    Expression3                   go to state 180
    PrefixOp                      go to state 181
    Primary                       go to state 182
    Literal                       go to state 183
    ParExpression                 go to state 184


State 793

  443 SubscriptExpressionList: '[' Expression ']' .

    $default  reduce using rule 443 (SubscriptExpressionList)


State 794

  444 SubscriptExpressionList: SubscriptExpressionList '[' Expression . ']'

    ']'  shift, and go to state 801


State 795

  267 ForVarControlRest: ForVariableDeclaratorsRest ';' ';' ForUpdate .  [')']
  277 ForUpdate: ForUpdate . ',' StatementExpression

    ','  shift, and go to state 647

    $default  reduce using rule 267 (ForVarControlRest)


State 796

    1 QualifiedIdentifier: . Identifier
    2                    | . QualifiedIdentifier '.' Identifier
   54 BasicType: . "byte"
   55          | . "short"
   56          | . "char"
   57          | . "int"
   58          | . "long"
   59          | . "float"
   60          | . "double"
   61          | . "boolean"
   71 NonWildcardTypeArguments: . '<' TypeList '>'
  236 StatementExpression: . Expression
  268 ForVarControlRest: ForVariableDeclaratorsRest ';' Expression ';' .  [')']
  269                  | ForVariableDeclaratorsRest ';' Expression ';' . ForUpdate
  276 ForUpdate: . StatementExpression
  277          | . ForUpdate ',' StatementExpression
  278 Expression: . Expression1
  279           | . Expression1 AssignmentOperator Expression1
  292 Expression1: . Expression2
  293            | . Expression2 Expression1Rest
  295 Expression2: . Expression3
  296            | . Expression3 Expression2Rest
  318 Expression3: . PrefixOp Expression3
  319            | . '(' Type ')' Expression3
  320            | . '(' Expression ')' Expression3
  321            | . Primary
  322            | . Primary SelectorList
  323            | . Primary PostfixOpList
  324            | . Primary SelectorList PostfixOpList
  325 PrefixOp: . "++"
  326         | . "--"
  327         | . '!'
  328         | . '~'
  329         | . '+'
  330         | . '-'
  333 Primary: . Literal
  334        | . ParExpression
  335        | . "this"
  336        | . "this" Arguments
  337        | . "super" SuperSuffix
  338        | . "new" Creator
  339        | . NonWildcardTypeArguments "this" Arguments
  340        | . NonWildcardTypeArguments ExplicitGenericInvocationSuffix
  341        | . Identifier IdentifierSuffix
  342        | . QualifiedIdentifier
  343        | . QualifiedIdentifier IdentifierSuffix
  344        | . BasicType '.' "class"
  345        | . BasicType ArrayDesignatorList '.' "class"
  346        | . "void" '.' "class"
  347 Literal: . IntegerLiteral
  348        | . FloatingPointLiteral
  349        | . CharacterLiteral
  350        | . StringLiteral
  351        | . BooleanLiteral
  352        | . NullLiteral
  353 ParExpression: . '(' Expression ')'

    BooleanLiteral        shift, and go to state 148
    CharacterLiteral      shift, and go to state 149
    FloatingPointLiteral  shift, and go to state 150
    IntegerLiteral        shift, and go to state 151
    NullLiteral           shift, and go to state 152
    StringLiteral         shift, and go to state 153
    Identifier            shift, and go to state 290
    "byte"                shift, and go to state 86
    "short"               shift, and go to state 87
    "char"                shift, and go to state 88
    "int"                 shift, and go to state 89
    "long"                shift, and go to state 90
    "float"               shift, and go to state 91
    "double"              shift, and go to state 92
    "boolean"             shift, and go to state 93
    '<'                   shift, and go to state 155
    "super"               shift, and go to state 156
    '('                   shift, and go to state 157
    "void"                shift, and go to state 160
    '+'                   shift, and go to state 161
    '-'                   shift, and go to state 162
    "++"                  shift, and go to state 163
    "--"                  shift, and go to state 164
    '!'                   shift, and go to state 165
    '~'                   shift, and go to state 166
    "this"                shift, and go to state 167
    "new"                 shift, and go to state 168

    $default  reduce using rule 268 (ForVarControlRest)

    QualifiedIdentifier       go to state 169
    BasicType                 go to state 170
    NonWildcardTypeArguments  go to state 171
    StatementExpression       go to state 529
    ForUpdate                 go to state 802
    Expression                go to state 232
    Expression1               go to state 233
    Expression2               go to state 179
    Expression3               go to state 180
    PrefixOp                  go to state 181
    Primary                   go to state 182
    Literal                   go to state 183
    ParExpression             go to state 184


State 797

    2 QualifiedIdentifier: QualifiedIdentifier . '.' Identifier
  438 PipeSeparatedQualifiedIdentifierList: PipeSeparatedQualifiedIdentifierList '|' QualifiedIdentifier .  [Identifier, '|']

    '.'  shift, and go to state 54

    $default  reduce using rule 438 (PipeSeparatedQualifiedIdentifierList)


State 798

  239 CatchClause: "catch" '(' CatchType Identifier ')' Block .

    $default  reduce using rule 239 (CatchClause)


State 799

  200 Block: . '{' BlockStatements '}'
  240 CatchClause: "catch" '(' VariableModifierList CatchType Identifier ')' . Block

    '{'  shift, and go to state 103

    Block  go to state 803


State 800

  432 AnnotationMethodRest: '(' ')' '[' ']' "default" ElementValue .

    $default  reduce using rule 432 (AnnotationMethodRest)


State 801

  444 SubscriptExpressionList: SubscriptExpressionList '[' Expression ']' .

    $default  reduce using rule 444 (SubscriptExpressionList)


State 802

  269 ForVarControlRest: ForVariableDeclaratorsRest ';' Expression ';' ForUpdate .  [')']
  277 ForUpdate: ForUpdate . ',' StatementExpression

    ','  shift, and go to state 647

    $default  reduce using rule 269 (ForVarControlRest)


State 803

  240 CatchClause: "catch" '(' VariableModifierList CatchType Identifier ')' Block .

    $default  reduce using rule 240 (CatchClause)
